我有一个函数,它返回一组列号和一个使用某些属性定义的对象
for (let row of excelSheet)
{
let item = {
property1: row[column]
property2: row[column]
property3: row[column]
}
}
假设属性 3 的值可以在多个列中找到,因此从该列返回的集合具有多个值。我尝试将 property3:
设置为
row[Number(columnSet.foreach(function(v){return v})]
但是,该项目中似乎没有填充任何内容,并且控制台记录该属性未定义。有没有更好的方法来解决这个问题?
最佳答案
如果有多个值,您可能需要一个数组。使用 .map
迭代 Set 并访问相应的行,以便 item.property3
的值是 row[column]< 值的数组
s:
property3: [...columnSet].map(column => row[column])
const columnSet = new Set([2, 4]);
const row = [0, 1, 2, 3, 4, 5];
const obj = {
property3: [...columnSet].map(column => row[column])
};
console.log(obj);
关于javascript - 使用 Set .forEach() 将项目添加到对象的指定属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60330616/