ホームページ  >  記事  >  ウェブフロントエンド  >  JSでの配列結合方法とオブジェクト結合の実装手順を詳しく解説

JSでの配列結合方法とオブジェクト結合の実装手順を詳しく解説

php中世界最好的语言
php中世界最好的语言オリジナル
2018-05-22 10:45:041475ブラウズ

今回はJSで配列結合メソッドとオブジェクトの結合を実装する手順について詳しく解説します JSで配列結合メソッドとオブジェクトを実装する際の注意点

についてご紹介します。ケース、見てみましょう。 + Array.prototype.push.apply(arr1 , arr2) または arr1.push.apply(arr1,arr2) を使用します;

var a=[1,2,3],b=[4,5,6];
var c=a.concat(b);
console.log(c);// 1,2,3,4,5,6
console.log(a);// 1,2,3 不改变本身
2 オブジェクトのマージ

2.1 $.extend()

var arr1=['a','b'];
var arr2=['c','d','e'];
for(var i=0;i<arr2.length;i++){
   arr1.push(arr2[i]) 
}
console.log(arr1);//[&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;,&#39;e&#39;]
2.2 トラバーサル代入

var arr1=[&#39;a&#39;,&#39;b&#39;];
var arr2=[&#39;c&#39;,&#39;d&#39;,&#39;e&#39;];
Array.prototype.push.apply(arr1,arr2);
//或者
arr1.push.apply(arr1,arr2);<br>console.log(arr1) //['a','b','c','d','e']
2. 3 Obj.assign()

ソースオブジェクト自身の列挙可能なプロパティを任意の数だけターゲットオブジェクトにコピーし、ターゲットオブジェクトを返すことができます。

var obj1= {'a': 1};
var obj2= {'b': 1};
var c = $.extend(obj1, obj2); 
console.log(obj1); // {a: 1, b: 1} obj1已被修改 
//或者 <br>var obj3 = $.extend({}, obj1, obj2) <br>console.log(obj3); //{a: 1, b: 1} 不会改变obj1,obj2

2.4 オブジェクトの深いコピーと浅いコピー2.4.1 浅いコピー
var obj1={'a':1};
var obj2={'b':2,'c':3};
for(var key in obj2){
   if(obj2.hasOwnProperty(key)===true){  <br>   //此处hasOwnProperty是判断自有属性,
使用 for in 循环遍历对象的属性时,原型链上的所有属性都将被访问会避免原型对象扩展带来的干扰
      obj1[key]=obj2[key];
} 
}
console.log(obj1);//{'a':1,'b':2,'c':3};

2.4.2 深いコピー

Object.assign(target, ...sources)
//a. 复制一个对象<br>var obj = { a: 1 ,b:2};
var copyObj = Object.assign({}, obj);
console.log(copyObj); // { a: 1,b:2 }<br><br>//b.合并多个对象 
var o1 = { a: 1 };
var o2 = { b: 2 };
var o3 = { c: 3 };
var obj = Object.assign(o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }
console.log(o1); // { a: 1, b: 2, c: 3 }, 且目标对象自身也会改变。 
この記事の事例を読んだ後、あなたはその方法をマスターしたと思います。 、php中国語ウェブサイトその他の関連記事にご注意ください!

推奨読書:

Node.js Expressのインストールと使用手順の詳細な説明

nodeフロントエンド開発テンプレートエンジンJadeの使用手順の詳細な説明

以上がJSでの配列結合方法とオブジェクト結合の実装手順を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。