我用循环创建了一个包含许多元素的数组:
myArray = [c1, c2, c3...]
现在我想将每个元素变成一个对象并分配不同的键值:
c1 = {image = path, value = number)
我尝试运行 forEach()
但无法找出正确的方法,而且我还没有成功找到答案。
我的猜测是:
myArray.forEach(function() {
let name = {
image = path,
value = number,
}
return name;
});
但日志中的元素没有变化。
任何可以帮助我的帮助或答案链接。第一次在这里编码。
更新:一个更简单的解决方案是,当我首先使用循环创建数组时,推送对象的所有键和值。
array.push({图像:路径x,值:数字x})
最佳答案
你可以,但最好使用一个简单的for
循环:
for (let i = 0; i < myArray.length; ++i) {
let entry = myArray[i];
myArray[i] = {image: entry.path, value: entry.number};
}
或者使用map
创建一个新数组。
newArray = myArray.map(entry => ({image: entry.path, value: entry.number}));
或者如果您更喜欢非箭头函数:
newArray = myArray.map(function(entry) {
return {image: entry.path, value: entry.number};
});
关于javascript - 我可以使用 forEach 使数组的每个元素成为一个新对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48139165/