0

条件付きでどう使う$.extend

obj=[{..}, {..}, {....}];

this.model.axes=[{..}, {..}, {...}];

$.extend(true, this.model.axes, obj);

objjson オブジェクトの配列と同じthis.model.axesです。objからの値を拡張またはマージしたいのですがmodel.axes、最初の 2 つのインデックスはスキップします。つまり、値をthis.model.axes[0]およびthis.model.axes[1]からobj[0]およびとマージする必要はありませんobj[1]

私はそれを好きobj[0]this.model.axes[2]なりたいです。obj[1]this.model.axes[3]

から最初の 2 つの json オブジェクトをスキップするにはどうすればよいmodel.axesですか?

ありがとう、

シヴァ

4

2 に答える 2

1
var arr = [{id: 1},{id:2},{id:3}];
var arr2 = [{name: "joe"},{name:"john"},{name:"jack"},{name:"Jill"}];


function myMerge(arr1, arr2, start){
   var trimmed = arr2.slice(start);
    for(var i = 0; i < trimmed.length; i++){
        $.extend(true, trimmed[i], (arr[i])? arr[i]:{});
    }
    return [].concat(arr2.splice(0,start), trimmed);
}

console.log(myMerge(arr,arr2, 2));
//Outputs: [Object { name="joe"}, Object { name="john"}, Object { name="jack", id=1}, Object { name="Jill", id=2}]

作業例 http://jsfiddle.net/pf7yL/1/

于 2013-05-13T09:16:36.497 に答える