Javascript 如何从索引为对象属性之一的对象获取数组
我有一个目标Javascript 如何从索引为对象属性之一的对象获取数组,javascript,arrays,ecmascript-6,filter,reducers,Javascript,Arrays,Ecmascript 6,Filter,Reducers,我有一个目标 const items = { "123": { "key": 123, "name": "one name", }, "456": { "key": 456, "name": "two name", }, "789": { &q
const items = {
"123": {
"key": 123,
"name": "one name",
},
"456": {
"key": 456,
"name": "two name",
},
"789": {
"key": 789,
"name": "three name",
},
};
需要从数组下方筛选此项,数组索引为object.key
const myFilter = [123,789];
我正在尝试的代码如下,但它返回数组inedx为0,1,2。。。但我需要索引为object.key
let selectedItems = myFilter.map((key) => {
return items[key];
});
电流输出:
[0:{
key: 123,
name: "one name"
}, 1: {
key: 789,
name: "three name"
}]
预期产量
[123:{
key: 123,
name: "one name"
}, 789: {
key: 789,
name: "three name"
}]
jsIDLE-您的实际输出实际上是正确的,并且是将
myFilter
数组映射到项的匹配属性的唯一可能结果
const项={
"123": {
“钥匙”:123,
“名称”:“一个名称”,
},
"456": {
“钥匙”:456,
“名字”:“两个名字”,
},
"789": {
“钥匙”:789,
“名”:“三名”,
},
};
常量myFilter=[123789];
const selectedItems=myFilter.map((key)=>items[key]);
console.log(selectedItems)
您的预期输出不是有效的数组,甚至不是该问题的对象。是的,items
变量也是对象的对象,而不是对象的数组。所以,你也不能使用数组方法,为什么123
和789
和456
?@ikiK-我试图编辑输出格式。基本上我需要一个数组索引作为对象的关键属性,而不是0,1,2…,如果它让人困惑@Drew reese,很抱歉,这个解决方案对我有效。@Codinghk如果这个答案对你有效,那么我请你将它标记为已接受的答案。如果你觉得它和解释很有帮助,那么别忘了投票。干杯