Javascript 使用Set.forEach()将项添加到对象的指定属性中

Javascript 使用Set.forEach()将项添加到对象的指定属性中,javascript,object,foreach,set,Javascript,Object,Foreach,Set,我有一个函数,它返回一组列号和一个用一些属性定义的对象 for(让一行Excel工作表) { 让项目={ 属性1:行[列] 属性2:行[列] 属性3:行[列] } } 假设属性3的值可以在多个列中找到,因此从该列返回的集合具有多个值。我试图将属性3:设置为 row[Number(columnSet.foreach(function(v){return v})] 但是,该项中似乎没有填充任何内容,并且该属性的控制台日志未定义。有更好的方法吗?如果有多个值,您可能需要一个数组。使用.map迭代集

我有一个函数,它返回一组列号和一个用一些属性定义的对象

for(让一行Excel工作表)
{
让项目={
属性1:行[列]
属性2:行[列]
属性3:行[列]
}
}
假设属性3的值可以在多个列中找到,因此从该列返回的集合具有多个值。我试图将
属性3:
设置为

row[Number(columnSet.foreach(function(v){return v})]

但是,该项中似乎没有填充任何内容,并且该属性的控制台日志未定义。有更好的方法吗?

如果有多个值,您可能需要一个数组。使用
.map
迭代集合并访问适当的行,以便
项.property3
的值是
行[列]
的值数组:

property3: [...columnSet].map(column => row[column])
const columnSet=新集合([2,4]);
常量行=[0,1,2,3,4,5];
常量对象={
属性3:[…列集].map(列=>行[列])
};

控制台日志(obj)太棒了!我甚至不知道为什么映射没有出现在我身上,我忽略了forEach返回未定义的结果