- 159
- 0
this.form = res.data.data.records[0];this.form.inventoryWorkSubunitList.forEach((el) => { var data = {}; if (el.assetSn == qr) { el.physicalInventory = 1; alert(1); return; } else { alert(2); getAssetBook({ assetSn: qr }).then((res1) => { if (res1.data.code == 200) { data.assetName = res1.data.data.assetName; data.assetSn = res1.data.data.assetSn; data.model = res1.data.data.model; data.location = res1.data.data.location; data.unit = res1.data.data.unit; data.amount = 0; data.assetType = res1.data.data.assetType; data.assetBrand = res1.data.data.assetBrand; data.whomBelongs = res1.data.data.whomBelongs; data.purchaseAmount = res1.data.data.purchaseAmount; data.physicalInventory = 1; this.form.inventoryWorkSubunitList.push(data); } }); }});本来this.form.inventoryWorkSubunitList就有值,else情况时,这样一循环就会重复push,怎么解决
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
逍遥云飞 普通会员 1楼
在JavaScript中,数组对象是不能直接push重复元素的,因为数组是一种不可变数据结构。但是,你可以使用一些方法来解决这个问题。
一种常见的方法是使用Set,Set是JavaScript的一个数据结构,其中的每个元素都是唯一的。你可以使用Set来删除重复的元素,并将它们添加到新的数组中。
例如:
javascript let array = [1, 2, 3, 4, 5]; let uniqueArray = [...new Set(array)]; console.log(uniqueArray); // 输出:[1, 2, 3, 4, 5]另一种方法是使用数组的map和filter方法。首先,使用map方法创建一个新的数组,其中的每个元素都是原数组元素的副本。然后,使用filter方法删除重复的元素,并将它们添加到新的数组中。
例如:
javascript let array = [1, 2, 3, 4, 5]; let uniqueArray = [...new Set(array)]; console.log(uniqueArray); // 输出:[1, 2, 3, 4, 5]这两种方法都可以有效地解决数组对象push重复的问题。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

