我有以下代码,我在创建对象数组,当我将对象推送到数组时,它会说出意外的令牌。
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"
});
}
请问大家请帮助我吗?
答案 0 :(得分:5)
如果你想拥有动态密钥,你需要先用括号表示法构造对象,然后将其推送到数组:
var rules = {};
rules[j$(element).attr("name")] = "required";
rulesArray.push(rules);
在ES2015(ES6)中,对象初始化期间也支持括号语法:
rulesArray.push({
[j$(element).attr("name")] : "required"
});