Jquery 如何将新的键值对添加到现有对象中

Jquery 如何将新的键值对添加到现有对象中,jquery,object,Jquery,Object,我有一个简单的功能: function pagination(opt, limit){ console.log(opt); //logs out this-> [Object { limit="2", layout="getConversations"}] if (typeof opt === 'object') { var list = { data: [opt] } list.data[

我有一个简单的功能:

function pagination(opt, limit){
    console.log(opt);
    //logs out this-> [Object { limit="2",  layout="getConversations"}]

    if (typeof opt === 'object') {
        var list = {
            data: [opt]
        }
        list.data['limitstart'] = 24; //undefined
        console.debug(data); //here it should list three key value pairs including limitstart which just added
    }
}
我试过这个:

list.data.push({ 'limitstart': 24 }); //creates another object.
预期产出:

[Object { limit="2",  layout="getConversations", limitstart=24}]

您可以将其设置为字符串,如示例中所示,但当您将对象放入带有
[obj]
的数组中时,您还必须选择索引
0

list.data[0]["limitstart"] = 24;
或者您可以将其作为一个属性:

list.data[0].limitstart = 24;

对于导出的输出,不必将
obj
放入数组:

var obj = {limit: '2', layout: 'getConversations'};
var list = {data: obj};

list.data.limitstart = 24;
console.debug(list.data); // you have to log 'list.data' not 'data'

要获得所需的输出,无需将
opt
放入数组,只需向其添加一个属性,如下所示:

函数分页(选项,限制){
console.log('input',opt);
if(typeof opt==='object'){
opt.limitstart=24;//在此处添加属性
}
console.log('output',opt);
}
分页({
限制:“2”,
布局:“getConversations”

});
它可以工作,请您解释一下,为什么必须使用[0]?因为您将
obj
放在一个带有
[obj]
的数组中(周围的
[]
将执行此操作)。由于
obj
是新数组中的第一个条目,因此必须按索引
0
选择
obj
@克伦