第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

合并2個(gè)對(duì)象數(shù)組

合并2個(gè)對(duì)象數(shù)組

Cats萌萌 2019-10-09 17:40:29
讓我們看一個(gè)例子。var arr1 = new Array({name: "lang", value: "English"}, {name: "age", value: "18"});var arr2 = new Array({name : "childs", value: '5'}, {name: "lang", value: "German"});我需要合并對(duì)象的這兩個(gè)數(shù)組并創(chuàng)建以下數(shù)組:arr3 = new Array({name: "lang", value: "German"}, {name: "age", value: "18"}, {name : "childs", value: '5'});有沒(méi)有JavaScript或jQuery函數(shù)可以做到這一點(diǎn)?$.extend不適合我 它返回arr4 = new Array({name : "childs", value: '5'}, {name: "lang", value: "German"});
查看完整描述

3 回答

?
縹緲止盈

TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個(gè)贊

如果要合并JavaScript中的2個(gè)對(duì)象數(shù)組。您可以使用這一招


Array.prototype.push.apply(arr1,arr2);


例如


var arr1 = [{name: "lang", value: "English"},{name: "age", value: "18"}];

var arr2 = [{name : "childs", value: '5'}, {name: "lang", value: "German"}];


Array.prototype.push.apply(arr1,arr2); 


console.log(arr1);  // final merged result will be in arr1

輸出:


[{"name":"lang","value":"English"},

{"name":"age","value":"18"},

{"name":"childs","value":"5"},

{"name":"lang","value":"German"}]


查看完整回答
反對(duì) 回復(fù) 2019-10-09
?
慕神8447489

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊

對(duì)于那些正在嘗試現(xiàn)代事物的人:


var odd = [

    { name : "1", arr: "in odd" },

    { name : "3", arr: "in odd" }

];


var even = [

    { name : "1", arr: "in even" },

    { name : "2", arr: "in even" },

    { name : "4", arr: "in even" }

];


// ----

// ES5 using Array.filter and Array.find

function merge(a, b, prop){

  var reduced = a.filter(function(aitem){

      return ! b.find(function(bitem){

          return aitem[prop] === bitem[prop];

      });

  });

  return reduced.concat(b);

}

console.log( "ES5", merge(odd, even, "name") );


// ----

// ES6 arrow functions

function merge(a, b, prop){

    var reduced =  a.filter( aitem => ! b.find ( bitem => aitem[prop] === bitem[prop]) )

  return reduced.concat(b);

}

console.log( "ES6", merge(odd, even, "name") );


// ----

// ES6 one-liner

var merge = (a, b, p) => a.filter( aa => ! b.find ( bb => aa[p] === bb[p]) ).concat(b);



console.log( "ES6 one-liner", merge(odd, even, "name") );


// Results

// ( stuff in the "b" array replaces things in the "a" array )

// [

//    {

//         "name": "3",

//         "arr": "in odd"

//     },

//     {

//         "name": "1",

//         "arr": "in even"

//     },

//     {

//         "name": "2",

//         "arr": "in even"

//     },

//     {

//         "name": "4",

//         "arr": "in even"

//     }

// ]


查看完整回答
反對(duì) 回復(fù) 2019-10-09
?
茅侃侃

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超21個(gè)贊

var arr3 = [];

for(var i in arr1){

   var shared = false;

   for (var j in arr2)

       if (arr2[j].name == arr1[i].name) {

           shared = true;

           break;

       }

   if(!shared) arr3.push(arr1[i])

}

arr3 = arr3.concat(arr2);


查看完整回答
反對(duì) 回復(fù) 2019-10-09
  • 3 回答
  • 0 關(guān)注
  • 1735 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)