Object.keys()
方法用于返回一个由给定对象的自身可枚举属性组成的数组,而 Array.prototype.map()
方法会创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后的返回值。如果你想要将 Object.keys().map()
函数中的参数设置为新对象中的键,你可以结合使用这两个方法来实现。
以下是一个示例,展示了如何将 Object.keys().map()
中的参数设置为新对象中的键:
const originalObj = {
a: 1,
b: 2,
c: 3
};
// 使用 Object.keys() 获取原对象的所有键
const keys = Object.keys(originalObj);
// 使用 map() 方法遍历键数组,并为每个键创建一个新的对象
const newObj = keys.map(key => {
return { [key]: originalObj[key] };
});
console.log(newObj);
// 输出: [{ a: 1 }, { b: 2 }, { c: 3 }]
在这个例子中,newObj
是一个数组,其中包含了三个对象,每个对象都有一个键值对,键来自于 originalObj
的键,值也是对应的值。
如果你想要得到一个单一的对象,而不是一个对象数组,你可以使用 reduce()
方法来实现:
const originalObj = {
a: 1,
b: 2,
c: 3
};
// 使用 Object.keys() 获取原对象的所有键
const keys = Object.keys(originalObj);
// 使用 reduce() 方法遍历键数组,并将它们合并到一个新的对象中
const newObj = keys.reduce((accumulator, key) => {
accumulator[key] = originalObj[key];
return accumulator;
}, {});
console.log(newObj);
// 输出: { a: 1, b: 2, c: 3 }
在这个例子中,newObj
将是一个单一的对象,它包含了 originalObj
中所有的键值对。
这两种方法都可以根据你的需求来设置新对象中的键。选择哪一种取决于你想要的输出格式是数组还是单一对象。
领取专属 10元无门槛券
手把手带您无忧上云