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

如何从Javascript中的对象列表中获取键的值?,javascript,typescript,Javascript,Typescript,我有以下方式的对象列表: 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]}]; cons

我有以下方式的对象列表:

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]
log(getByKey(arr,'b'))
log(getByKey(arr,'c'))
log(getByKey(arr,'something'))
您可以使用

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

log(findByKey(obj,'xyz'))

const arr=[{a:[1,2,3]},{b:[4,5,6]},{c:[7,8,9]}];
constbykey=(arr,key)=>{
返回(arr.find(e=>e.hasOwnProperty(key))|{}[key];
};

console.log(byKey(arr,'a'))你能告诉我们到目前为止你尝试了什么吗?这是一个奇怪的,有点不方便的数据结构。您使用一个单独的对象数组,每个对象都有一个唯一的键名,而不是像
obj={a:[1,2,3],b:[4,5,6],c:[7,8,9]}这样的单个对象,这有什么原因吗
?实际上,这是我从api调用中得到的一个返回,数据是以这种格式提供的。@str可能重复的问题与可能导致不必要的副作用和假真实的问题不完全相同。