gpt4 book ai didi

Angular2 - 类型对象的克隆数组

转载 作者:搜寻专家 更新时间:2023-10-30 21:27:56 25 4
gpt4 key购买 nike

我有一个类型化对象数组,我需要为它创建一个单独的副本,以便能够在克隆上工作。

我必须将 listProducts 值的副本传递给 configuratorProduct:

  listProducts: Product[];
configuratorProducts : Product[];

这就是我正在尝试的:

  this.configuratorProducts = this.listProducts.map(x => Object.assign({}, x));
for(let p in this.configuratorProducts)
{
var ck = this.accessories.filter(x=> x.idProductParent == p.idProduct);
}

问题是编译器返回:

属性“idProduct”不存在于输入“字符串”

我该如何解决?

感谢支持

最佳答案

我喜欢用这个克隆功能

const clone = obj =>
Array.isArray(obj)
? obj.map(item => clone(item))
: obj instanceof Date
? new Date(obj.getTime())
: (typeof obj === 'object') && obj
? Object.getOwnPropertyNames(obj).reduce((o, prop) => ({ ...o, [prop]: clone(obj[prop]) }), {})
: obj;

在这里看演示

https://stackblitz.com/edit/typescript-qmzgf7

如果它是一个数组,它返回每个克隆的项目的数组,如果它是一个日期,它创建一个新的日期,如果它是一个对象,如果将属性减少到一个新对象上,每个属性被克隆。如果这些都不是值对象或函数,则返回它。

关于Angular2 - 类型对象的克隆数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49899612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com