陣列和物件的合併方法

2021-08-31 04:07:00 字數 1606 閱讀 9808

//['a','b','c','d','e']varobj1= ;

varobj2= ;

varc = $.extend(obj1, obj2);

console.log(obj1);//   obj1已被修改

//或者

var obj3 = $.extend({}, obj1, obj2)

console.log(obj3); // 不會改變obj1,obj2

//此處hasownproperty是判斷自有屬性,使用 for in 迴圈遍歷物件的屬性時,原型鏈上的所有屬性都將被訪問會避免原型物件擴充套件帶來的干擾

可以把任意多個的源物件自身的可列舉屬性拷貝給目標物件,然後返回目標物件。object.assign(target, ...sources)

//a. 複製乙個物件

var obj = ;

varcopyobj = object.assign({}, obj);

console.log(copyobj);//

//b.合併多個物件

varo1 = ;

varo2 = ;

varo3 = ;

varobj = object.assign(o1, o2, o3);

console.log(obj);//

console.log(o1);// , 且目標物件自身也會改變。

var obj1=;

var obj2=};

$.extend(obj1, obj2); //obj1拷貝了obj2的屬性

console.log(obj1) // }

console.log(obj1.b.b1) // 22

obj2.b.b1=44; //obj2重新賦值

console.log(obj1.b.b1) // 44 obj1.b僅拷貝了物件的指引,所以受原obj2的影響

var obj1=;

var obj2=};

$.extend(true,obj1, obj2); //第乙個引數設為true表示深複製

console.log(obj1) // }

console.log(obj1.b.b1) // 22

obj2.b.b1=44; //obj2重新賦值

console.log(obj1.b.b1) // 22 obj1拷貝了obj2的所有屬性以及值,並不受obj2的影響

js合併物件和js合併陣列

object.assign target,將所有可列舉屬性的值從乙個或多個源物件複製到目標物件 assign target t,source1 u,source2 v t u v let target 目的 要將a,b,c物件複製到target物件中 let a let b let c let ob...

JS 陣列,陣列物件的合併去重方法

這次對陣列的操作,我們使用es6的新語法來完成,所以在看下邊 之前,我們要了解我們下邊要用到的es6中的set集合,和for.of 方法 es6提供了新的資料結構set,它類似於陣列,但是成員的值都是唯一的,沒有重複的值。set函式可以接受乙個陣列 或類似陣列的物件 作為引數,用來初始化。注意 向s...

js這種陣列和物件的合併

1.陣列的合併 1.遍歷 var a a b c var b c d e for var s in b console.log a a b c c d e 會改變原來的陣列2.concat 方法 var a a b c var b c d e var c a.concat b console.log...