首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

你如何在Javascript中克隆一个对象数组?

在JavaScript中,可以使用以下方法之一来克隆一个对象数组:

  1. 使用 JSON.stringify()JSON.parse() 方法:
代码语言:javascript
复制
const originalArray = [
  { id: 1, name: "Alice" },
  { id: 2, name: "Bob" },
  { id: 3, name: "Charlie" },
];

const clonedArray = JSON.parse(JSON.stringify(originalArray));
  1. 使用 Array.prototype.map() 方法:
代码语言:javascript
复制
const originalArray = [
  { id: 1, name: "Alice" },
  { id: 2, name: "Bob" },
  { id: 3, name: "Charlie" },
];

const clonedArray = originalArray.map((obj) => ({ ...obj }));
  1. 使用 Array.prototype.slice() 方法:
代码语言:javascript
复制
const originalArray = [
  { id: 1, name: "Alice" },
  { id: 2, name: "Bob" },
  { id: 3, name: "Charlie" },
];

const clonedArray = originalArray.slice();
  1. 使用 Array.from() 方法:
代码语言:javascript
复制
const originalArray = [
  { id: 1, name: "Alice" },
  { id: 2, name: "Bob" },
  { id: 3, name: "Charlie" },
];

const clonedArray = Array.from(originalArray, (obj) => ({ ...obj }));

以上方法都可以实现对象数组的克隆,但需要注意的是,这些方法只能执行浅拷贝,即对象的属性值为基本类型时,克隆后的对象数组中的对象属性值与原始数组中的对象属性值是相同的,但如果属性值为引用类型(如数组、对象),则克隆后的对象数组中的对象属性值与原始数组中的对象属性值是指向同一个内存地址的,即修改克隆后的对象数组中的对象属性值,原始数组中的对象属性值也会受到影响。如果需要进行深拷贝,可以使用第三方库,如 lodash_.cloneDeep() 方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券