Javascript在将对象推入数组时意外的标记点

Javascript unexpected token dot when pushing object to the array

本文关键字:意外 数组 对象 Javascript      更新时间:2023-09-26

我有下面的代码,我正在创建对象数组,当我将对象推入数组时,它会显示意想不到的令牌。

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"
    });
}

你们能帮帮我吗?

如果你想要有动态键,你需要先用括号符号构造对象,然后将其推入array:

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

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

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