ES6提供的较为好用的数组去重的方法:reduce,set。
当需要对接口返回的数据在渲染到页面前进行处理时:
接口返回的数据一般是数组对象,需要在数组对象中需要去掉重复数据并只保留一个(代码如图)

 

使用reduce加上三元运算符来去除重复数据。这里的array是形参(必须写否则会报undefined);
后面的 []一点不能去掉(设置array为初始值为空的数组)
this.bomDate是接口返回的数据(如图)

 

 let一个空对象存放数组中需要去重的数据(这里是inventoryCode)。原理就是reduce有累计器累计回调的返回值; 这里的next.inventoryCode第一次为空所以会走true && newArr.push(next),将这个值push到next中(我们这里把这个值记为A),那么在走第二次判断时next.inventoryCode的值为A。最后不重复的值会return出去。

Logo

前往低代码交流专区

更多推荐