将对象推送到数组时出现 Javascript 意外标记点

标签 javascript

我在下面的代码中创建了对象数组,当我将对象推送到该数组时,它显示意外标记。

var rulesArray = [];
var messagesArray = [];

var selectedRows = j$('table[id$="selectedProductsDiv"] tr').has('[id$="checkBoxColumn"] :checkbox:checked');

for(i = 0; i<selectedRows.length; i++){
    var element = j$(selectedRows[i]).find('input[id$="quantityId"]');

    rulesArray.push({
        j$(element).attr("name") : "required" //It shows error on this line.
    });

    messagesArray.push({
        j$(element).attr("name") : "Field cannot be blank"
    });
}

你们能帮我解决这个问题吗?

最佳答案

如果你想拥有动态键,你需要先用括号表示法构造对象,然后将其推送到数组:

var rules = {};
rules[j$(element).attr("name")] = "required";
rulesArray.push(rules);

在 ES2015 (ES6) 中,对象初始化期间也支持括号语法:

rulesArray.push({
    [j$(element).attr("name")] : "required"
});

关于将对象推送到数组时出现 Javascript 意外标记点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31663145/

相关文章:

javascript - 为html表格实现数字排序?

javascript - 在 Komodo 控制台中运行 node.js 脚本

javascript - 如何通过 ajax 响应在浏览器中设置 cookie

javascript - 在用 d3.js 制作的 map 上显示图标/图像而不是圆圈/路径

javascript - 在 Firebase 中处理关联帐户

javascript - JQuery 自动完成选择功能仅完成一项

javascript - 如何构建多阶段 Web 表单?

javascript - 如果变量已经被初始化,则创建一个使用该变量的函数

javascript - 如何使用 jQuery 显示隐藏在滚动下方的消息计数?

javascript - 如何使用同一数组中的其他项目更改数组中的项目