从数组克隆对象

时间:2014-07-23 05:56:34

标签: javascript jquery json

我有一个包含对象列表的数组,在这里我需要克隆一个具有" id = 1243"的对象。请帮我这样做。感谢。

 list :  [
             {
                 name    : "someName",
                 id      : 1241,
                 value   : 10,
             },                                                  

             {
                 name    : "someName",
                 id      : 1242,
                 value   : 12,

             },

             {
                name    : "someName",
                id      : 1243,
                value   : 15,
             },
             {
                name    : "someName",
                id      : 1244,
                value   : 11,
             }
 ],

5 个答案:

答案 0 :(得分:1)

在jquery中使用grep选择特定对象

          var obj;
            obj= jQuery.grep(list, function( n, i ) {
                  return n.id==1243;
            });

       var copy= JSON.parse(JSON.stringify(obj)); // copy the object

or //var newObject = jQuery.extend(true, {}, obj);`

DEMO

答案 1 :(得分:0)

您可以使用forEach迭代数组,比较Id并在匹配时将对象复制到变量,或者使用lodash的pluck方法。

答案 2 :(得分:0)

也许您可以使用clone()

参考:http://api.jquery.com/clone/

答案 3 :(得分:0)

试试这个:

arr.push({
                 name    : "someName",
                 id      : 1241,
                 value   : 10,
             });
arr.push({
                 name    : "someName",
                 id      : 1242,
                 value   : 12,

             });
arr.push({
                name    : "someName",
                id      : 1243,
                value   : 15,
             });
var obj;
for(var i=0;i<arr.length;i++)
{
    var temp = arr[i];
    if(temp.id==1243)
    {
        obj=temp;
    }
}
console.log(obj);//your result

DEMO

答案 4 :(得分:0)

Demo,试试这个,

var find_id=list[2].id;
console.log(find_id);