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如果这个答案对你有效,那么我请你将它标记为已接受的答案。如果你觉得它和解释很有帮助,那么别忘了投票。干杯