vue从获取到的对象数组中去掉重复数据,重复数据只保留一个 |
您所在的位置:网站首页 › 一列中重复数据只保留一个 › vue从获取到的对象数组中去掉重复数据,重复数据只保留一个 |
下拉框中的数据是从后台获取到的数据,将后台传来的重复数据只保留一个 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 |