javascript - 在 JavaScript 中向数组添加结构化数据

标签 javascript jquery

我正在尝试创建示例数据来测试表单网格。我正在使用以下函数来尝试创建要发送到我的网格的数据。

// 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/

相关文章:

javascript - 使用 jQuery 查找文章正文

javascript - 如何将模板数据附加到特定的 div?

javascript - 仅安全cookie通过控制台中的$.cookie返回NULL?

javascript - IE 9 中 FileReader() 的垫片

javascript - 将复选框数据属性与输入值相乘

javascript - native 应用程序和 chrome-extension 之间的连接在一段时间后中断

javascript - 无法在全局变量中存储值

javascript - 向 jQuery 幻灯片添加自动播放功能

javascript - 将 bootstrap popover 保持在视口(viewport)内

javascript - PHP/jQuery - 意外的标识符