我正在尝试创建示例数据来测试表单网格。我正在使用以下函数来尝试创建要发送到我的网格的数据。
// populateFields: Populates data n times a record of data for the SSM form.
// @params: n, fips, products
// @returns: fields
populateFields(n, fips, products) {
var data = [];
var fields = this.getFields();
for(i = 0; i < n; i++) {
var x = {fields[0]: false,
fields[1]: fips[getRandomInt(0, fips.length())],
fields[2]: products[getRandomInt(0, products.length())],
fields[3]: getRandomInt(0, 100)};
data.push(x);
}
return data;
}
当我调用它时,没有任何内容被填充。我收到一条错误消息,指出 fields[0]: false
需要 [
token 。
注意:这是类(class)的一部分,我认为这并不重要。 我不确定你是否想看看我是如何调用它的。
是不是因为 jQuery,就像我将数组传递给的那样。
最佳答案
要使用变量作为属性键,必须将其括在括号中:
{
[fields[0]]: false
//...
}
否则它会尝试使用 field[0]
作为标识符本身,并且标识符中不允许使用诸如 [
之类的字符(因为它们用于属性访问) 。 (尽管它们在属性名称中是允许的,所以 { "field[0]": false }
在语法上可以工作,但这没有什么意义)。
关于javascript - 在 JavaScript 中向数组添加结构化数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51937813/