【发布时间】:2018-12-06 22:33:06
【问题描述】:
我正在尝试以编程方式向对象添加属性。不过这个案例有点不同,我不知道如何处理这个问题。
通常,要将属性应用于对象,我会在此上下文中应用它:
var a = []
var len = result[0].length
for(m=0; m < len; m++){
a[m] = "b" + m // creates b1-b17 usually, but if the results are shorter it will create them equal to the length of the results
}
const values = {}
for(g=0; g<len; g++){
values[a[g]] = [];
}
这通常会为每个属性“b1”到“b17”添加一个空数组,但它是动态的,以防结果更短。
现在我想对这段代码做同样的事情,但只在“返回”部分。无论如何我可以调用它并像以前那样以编程方式输入这些变量吗?
const rowData = tableData.map(result => {
for(var h in a){
values[a[h]].push(result[h]);
}
return {
//I want to put properties in here programmatically and dynamically like I did previously
}
})
感谢大家的宝贵时间!
【问题讨论】:
-
creates b1-b17 usually真的吗?它应该创建类似b0-b17 -
如果您为
tableData提供一些输入数据并显示您想要的输出,我会更容易理解您的要求。 -
所以您希望
tableData的每个成员都转换为b0..b17类型值的数组?完全不清楚你想达到什么目的 -
@CertainPerformance 它确实创建了 b0-b17,我的错。我没有校对那部分。
-
为什么你的“上下文”代码不是
const values = {}; for(g = 0; g<len; g++) { values["b"+g] = []; }?
标签: javascript function dynamic properties