jquery将键和值推入数组

时间:2015-05-25 09:58:53

标签: jquery

我有以下方式的初始数组:

var bankNamesList = [{
    'BARODA': 'BARODA'
}, {
    'AB': 'AB'
}];

然后我循环这些值并附加到主变量并构建一个下拉列表

var bankNames = '<ul class="root" id="exp-bank-names">';
$.each(bankNamesList, function() {
    $.each(this, function(name, value) {
        bankNames += '<li><a href="#" name="' + name + '">' + value + '</a></li>';
    });
});
bankNames += '</ul>';
$('.submenu-bank-list').html(bankNames);

如何将新值推送到数组中。

我试着用以下方式,但没有运气。

var nameAttr = 'SBI';    
bankNamesList.push({nameAttr:nameAttr});

3 个答案:

答案 0 :(得分:8)

使用对象文字创建对象及其属性时,:左侧的名称按字面意思(双关语)。它不会查找变量名称,而是使用您实际编写的文本。

最后你的例子:

var nameAttr = 'SBI';    
bankNamesList.push({nameAttr:nameAttr});

实际上就像你写的那样:

bankNamesList.push({ 'nameAttr': 'SBI' });

看起来你可能意味着这样做,类似于bankNamesList数组的其他元素:

bankNamesList.push({ 'SBI': 'SBI' });

你可以这样做:

var nameAttr = 'SBI';
var item = {};
item[nameAttr] = nameAttr;
bankNamesList.push(item);

答案 1 :(得分:4)

你只需要键周围的引号:

var nameAttr = 'SBI';
bankNamesList.push({
    'nameAttr': nameAttr
});

答案 2 :(得分:2)

试试这个

 var anser_array = [];
 var KeyValuePair = '{"Qid"' + ":" + Question_id + "," + "Ans" + ":" + answer_id + "}";
 anser_array.push(KeyValuePair);