vue从获取到的对象数组中去掉重复数据,重复数据只保留一个

您所在的位置:网站首页 一列中重复数据只保留一个 vue从获取到的对象数组中去掉重复数据,重复数据只保留一个

vue从获取到的对象数组中去掉重复数据,重复数据只保留一个

2024-06-01 14:27| 来源: 网络整理| 查看: 265

下拉框中的数据是从后台获取到的数据,将后台传来的重复数据只保留一个

export default { data () { return { queryObj: { company: '', //工业公司 } } }, methods: { unique(arr) { const res = new Map(); return arr.filter((arr) => !res.has(arr.supplierCode) && res.set(arr.supplierCode, 1)); }, // 获取工业公司 handleQuaryCompany() { const _this = this findSupplierInfo().then(req => { _this.companyObjAll = req.data this.companyObj = this.unique(_this.companyObjAll) }) } } }

jQuery遍历-has()方法将匹配元素集合缩减为拥有匹配指定选择器或DOM元素的后代的子集。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

今天偶然看到数组去重:

1. 利用ES6 Set去重(ES6中最常用)

function unique (arr) { return Array.from(new Set(arr)) } var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}]; console.log(unique(arr)) //[1, "true", true, 15, false, undefined, null, NaN, "NaN", 0, "a", {}, {}]

不考虑兼容性,这种去重的方法代码最少。这种方法还无法去掉“{}”空对象,后面的高阶方法会添加去掉重复“{}”的方法。

简化代码:

[...new Set(arr)]

2.利用for嵌套for,然后splice去重(ES5中最常用)

function unique(arr){ for(var i=0; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3