在JavaScript中,如果你有一个对象,而它的键(key)是一个数组,你可以通过多种方式来查找对应的值。以下是一些常见的方法:
Array.prototype.map()
如果你想要获取数组中每个键对应的值,并返回一个新数组,可以使用map()
方法。
const obj = {
'a': 1,
'b': 2,
'c': 3
};
const keys = ['a', 'c'];
const values = keys.map(key => obj[key]);
console.log(values); // 输出: [1, 3]
Array.prototype.reduce()
如果你想要将所有找到的值合并成一个单一的结果(例如求和),可以使用reduce()
方法。
const obj = {
'a': 1,
'b': 2,
'c': 3
};
const keys = ['a', 'c'];
const sum = keys.reduce((accumulator, key) => accumulator + (obj[key] || 0), 0);
console.log(sum); // 输出: 4
for...of
循环如果你想要遍历数组并逐个获取键对应的值,可以使用for...of
循环。
const obj = {
'a': 1,
'b': 2,
'c': 3
};
const keys = ['a', 'c'];
for (const key of keys) {
console.log(obj[key]); // 分别输出: 1, 3
}
Object.keys()
和Array.prototype.includes()
如果你想要检查某个键是否存在于对象中,并获取其值,可以使用Object.keys()
结合Array.prototype.includes()
。
const obj = {
'a': 1,
'b': 2,
'c': 3
};
const keys = ['a', 'c'];
const values = {};
for (const key in obj) {
if (keys.includes(key)) {
values[key] = obj[key];
}
}
console.log(values); // 输出: { a: 1, c: 3 }
undefined
或不会包含该键的值。以上就是查找对象中数组键对应的值的一些基本方法。根据你的具体需求,你可以选择最适合的方法来解决问题。
领取专属 10元无门槛券
手把手带您无忧上云