繁体   English   中英

如何从Javascript中的对象列表中获取键的值?

[英]How do I get the value of a key from a list of objects in Javascript?

我通过以下方式获得对象列表:

obj = [ { a:[1,2,3] }, { b:[4,5,6] }, { c:[7,8,9] } ]

如何使用javascript获取密钥的对应数组?

例如。 对于b,我将得到[4,5,6]。 我需要一个函数,可以将键作为输入,并返回与之关联的对应数组。

您可以使用find()Object.keys() 将keys数组的第一个元素与给定键进行比较。

 const arr = [ { a:[1,2,3] }, { b:[4,5,6] }, { c:[7,8,9] } ]; const getByKey = (arr,key) => (arr.find(x => Object.keys(x)[0] === key) || {})[key] console.log(getByKey(arr,'b')) console.log(getByKey(arr,'c')) console.log(getByKey(arr,'something')) 

您可以使用findin

 let obj = [ { a:[1,2,3] }, { b:[4,5,6] }, { c:[7,8,9] } ] let findByKey = (arr,key) => { return (arr.find(ele=> key in ele ) || {})[key] } console.log(findByKey(obj,'b')) console.log(findByKey(obj,'xyz')) 

您可以使用findhasOwnProperty

 const arr = [ { a:[1,2,3] }, { b:[4,5,6] }, { c:[7,8,9] } ]; const byKey = (arr, key) => { return (arr.find(e => e.hasOwnProperty(key)) || {})[key]; }; console.log(byKey(arr, 'a')); 

只需使用属性索引器即obj['b']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM