gpt4 book ai didi

javascript - 从数组值返回对象键

转载 作者:行者123 更新时间:2023-12-01 02:19:28 24 4
gpt4 key购买 nike

我想返回 ContractID 值等于 10 的对象的键。所以在这个例子中我想返回0

{
0 : {ContractID: 10, Name: "dog"}
1 : {ContractID: 20, Name: "bar"}
2 : {ContractID: 30, Name: "foo"}
}

我尝试过使用 filter 方法,但它无法按我想要的方式工作。

var id = objname.filter(p => p.ContractID == 10); 

这会返回数组,而不是键。我怎样才能归还 key ?

最佳答案

Object.keys()上使用find

let obj = {
'0' : {ContractID: 10, Name: "dog"},
'1' : {ContractID: 20, Name: "bar"},
'2' : {ContractID: 30, Name: "foo"}
}

let res = Object.keys(obj).find(e => obj[e].ContractID === 10);
console.log(res);

但是,您的“对象”看起来更像是一个数组。要么直接将其正确创建为数组,要么先将其转换为数组。然后使用findIndex()

let obj = {
'0' : {ContractID: 10, Name: "dog"},
'1' : {ContractID: 20, Name: "bar"},
'2' : {ContractID: 30, Name: "foo"}
};

obj.length = Object.keys(obj).length;
let arr = Array.from(obj);
let key = arr.findIndex(e => e.ContractID === 10);
console.log(key);

关于javascript - 从数组值返回对象键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49317368/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com