filter()數組去重,數組對象去重


filter去重首先要清楚在數組中indexOf的含義

indexOf()方法返回在數組中可以找到一個給定元素的第一個索引,如果不存在,則返回-1。

1.簡單數據類型去重

let arr = ['a', 'b', 'c', 'c', 'd', 'd'] let outPut = arr.filter((item, index) => arr.indexOf(item) == index) console.log(outPut) // ['a', 'b', 'c', 'd'] 

2.數組對象去重

let arr = [ { name: 'Jack' }, { name: 'Jack' }, { name: 'Tom' }, { name: 'Edward' }, ] let arr2 = arr.filter((item, index) => { let temArr = [] arr.forEach(item2 => temArr.push(item2.name)) return temArr.indexOf(item.name) == index }) // 對象的某個屬性放入臨時數組,對比臨時數組中元素所在對象的索引, // 多個對象可push多個,均不相同return ..&&.. 有一不同 return ..||.. // console.log(arr2) // [ { name: 'Jack' }, { name: 'Tom' }, { name: 'Edward' } ]
3.數組對象去重

let arr = [ { name: 'Jack' }, { name: 'Jack' }, { name: 'Tom' }, { name: 'Edward' }, ]
unique(arr) {
                const res = new Map();
                return arr.filter((arr) => !res.has(arr.name) && res.set(arr.name, 1));
            },
this.unique(arr)
4.filter
  let list = [{},{}]
          const arr = list.filter(item => { return item.dictsCode == this.formInline.sampleType })  
  if (arr.length) {
    //
           this.formInline.sampleName = arr[0].dictsNameC
        }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM