如何動態合併兩個 JavaScript 物件的屬性?
有兩種方法可以動態合併 javascript 物件的屬性。它們是
1) Object.assign()
Object.assign() 方法用於從一個或多個源物件複製所有屬性的值到目標物件。它將返回目標物件。
示例-1
<html>
<body>
<script>
var target = { a: "ram", b: "rahim" };
var source = { c: "akbar", d: "anthony" };
var returnedTarget = Object.assign(target, source);
document.write(JSON.stringify(target));
document.write(JSON.stringify(returnedTarget));
</script>
</body>
</html>輸出
{"a":"ram","b":"rahim","c":"akbar","d":"anthony"}
{"a":"ram","b":"rahim","c":"akbar","d":"anthony"}如果物件具有相同的鍵,則將複製分佈在後面的物件的鍵的值。以下示例顯示了出現具有不同值的相同鍵時的場景。
示例-2
<html>
<body>
<script>
var target = { a: "ram", b: "rahim" };
var source = { b: "akbar", d: "anthony" };
var returnedTarget = Object.assign(target, source);
document.write(JSON.stringify(target));
document.write("</br>");
document.write(JSON.stringify(returnedTarget));
</script>
</body>
</html>輸出
{"a":"ram","b":"akbar","d":"anthony"}
{"a":"ram","b":"akbar","d":"anthony"}2) 使用擴充套件運算子
擴充套件運算子允許在期望有多個元素/變數/引數的地方擴充套件表示式。它主要用於在期望出現多個值的變數陣列中。由於 javascript 物件是關鍵值成對的實體,因此我們可以使用擴充套件運算子將它們合併為一個。
語法
var target = [...obj1, ...obj2, ...]
示例
<html>
<body>
<script>
var target = { a: "ram", b: "rahim" };
var source = { b: "akbar", d: "anthony" };
var returnedTarget = {...target, ...source}
document.write(JSON.stringify(returnedTarget));
</script>
</body>
</html>輸出
{"a":"ram","b":"akbar","d":"anthony"}
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP