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]);
}
});