我有一个带有几个键和值的简单对象:
var obj = {SKA: 267, SKB: 30, SKC: 273, SKD: 900, SKE: 27, SKF: 3}
我还有一个带有一些键的数组:
var keysArray = ["SKB", "SKF"]
我知道我可以使用Object.values(obj)
获取所有值。但是我只需要keysArray
中定义的键值。那么,有一种简单的方法可以只获取这些键的值并将它们保存在一个新数组中吗?
我需要以下结果:
var resultArray = [30, 3]
非常感谢。
答案 0 :(得分:3)
keysArray.map(key => obj[key])
答案 1 :(得分:0)
<fo:block>
Line 1 
 /// Not Working
Line 2 
 /// Not Working
Line 3 <br /> /// Not working
</fo:block>
答案 2 :(得分:0)
我建议在forEach
上使用循环,例如keysArray
,而不是map
上的keysArray
。原因是因为map
不起作用:
var obj = {SKA: 267, SKB: 30, SKC: 273, SKD: 900, SKE: 27, SKF: 3};
var keysArray = ["SKB", "SKF"];
var resultArray = [];
keysArray.forEach((key)=>{
resultArray.push(obj[key]);
});
console.log(resultArray);
&#13;
以下是map
与您提出的问题不符的原因:
var obj = {"SKA": 267, "SKB": 30, "SKC": 273, "SKD": 900, "SKE": 27, "SKF": 3};
var keysArray = ["SKB", "SKF"];
keysArray.map(key => obj[key]);
console.log(keysArray);
&#13;