Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Cách sao chép nông (shallow copy) đối tượng trong JavaScript


Underscore.js, một thư viện của JavaScript, giới thiệu phương thức _.extend() để sao chép nông (shallow copy) các đối tượng. Phương thức này sao chép tất cả thuộc tính từ các đối tượng nguồn (source) sang đối tượng đích (destination) và trả về đối tượng đích. Ở đây dùng tham chiếu (reference) để sao chép chứ không phải nhân bản (duplication).

Cú pháp

_.extend(đối_tượng*);

Chấp nhận nhiều đối tượng và shallow copy chúng. Có thể cung cấp bao nhiêu đối tượng tùy ý.

Ví dụ 1

Trong ví dụ sau, ba đối tượng riêng biệt được sao chép nông và hiển thị trong kết quả.

<html> <body> <script src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/0.10.0/lodash.min.js"></script> </head> <body> <script> var res = JSON.stringify(_.extend( {name: 'Ram', designation: "content developer"}, {age: 50}, {salary: 1200000})); document.write((res)); </script> </body> </html>

Kết quả

{"name":"Ram","designation":"content developer","age":50,"salary":1200000}

Ví dụ 2

<html> <body> <script src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/0.10.0/lodash.min.js"></script> </head> <body> <script> var res = JSON.stringify(_.extend( {name: 'Ram', designation: "content developer"}, {age: 50,salary: 1200000}, {country: "India"})); document.write((res)); </script> </body> </html>

Kết quả

{"name":"Ram","designation":"content developer","age":50,"salary":1200000,"country":"India"}