Javascript 如何仅获取由键数组定义的对象中的值?

Javascript 如何仅获取由键数组定义的对象中的值?,javascript,arrays,object,filter,find,Javascript,Arrays,Object,Filter,Find,我有一个简单的对象,有几个键和值: var obj = {SKA: 267, SKB: 30, SKC: 273, SKD: 900, SKE: 27, SKF: 3} 我还有一个带有一些键的数组: var keysArray = ["SKB", "SKF"] 我知道我可以通过使用Object.values(obj)获得所有值。但是,我只需要在keysArray中定义的键的值。那么,有没有一种简单的方法只获取这些键的值并将它们保存在新数组中 我需要以下结果: var resultArray

我有一个简单的对象,有几个键和值:

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]

非常感谢。

我建议在
keysArray
上使用loop,比如
forEach
,而不是
keysArray
上的
map
。原因是
map
不适用于此:

 keysArray.map(key => obj[key])
var obj={SKA:267,SKB:30,SKC:273,SKD:900,SKE:27,SKF:3};
var keysArray=[“SKB”,“SKF”];
var resultArray=[];
keysArray.forEach((键)=>{
结果ray.push(obj[key]);
});

console.log(resultArray)
我建议使用循环,比如
keysArray
上的
forEach
,而不是
keysArray
上的
map
。原因是
map
不适用于此:

var obj={SKA:267,SKB:30,SKC:273,SKD:900,SKE:27,SKF:3};
var keysArray=[“SKB”,“SKF”];
var resultArray=[];
keysArray.forEach((键)=>{
结果ray.push(obj[key]);
});

console.log(resultArray)键是字符串?是的,它们是字符串,下面的解决方案非常完美,谢谢!很高兴提供帮助:)键是字符串?是的,它们是字符串,下面的解决方案非常完美,谢谢!很高兴提供帮助:)如果有一个键不在
obj
中,它将映射到未定义。如果有一个键不在
obj
中,它将映射到未定义
var resultArray =[];

keysArray.forEach(function(key){
    if(obj[key]){
        resultArray.push(obj[key]);
    }
});