数组对象去重
问题描述:数组去重比较容易,但是二维对象数组去重怎么处理
解决办法:
var arr1 = [ { id: 1, type: 'qw' }, { id: 2, type: 'qw' }, { id: 1, type: 'qw2' }, { id: 3, type: 'qw111' }, { id: 3, type: 'qw222' }, { id: 3, type: 'qw333' } ] // 第一种方法:reduce var hash = {} var arr2 = arr1.reduce(function(item, next) { console.log(item, '0') hash[next.id] ? '' : hash[next.id] = true && item.push(next) return item }, []) console.log(arr2, '数组去重') // 第二种方法 var obj = {} var arr2 = [] arr1.forEach((ele, index) => { if (!obj[ele.id]) { arr2.push(ele) obj[ele.id] = ele.id } }) console.log(arr2, '去重数组?') // 第三种方法 这个方法会改变原数组 arr1.forEach((ele, index, arr) => { for (let i = index + 1; i < arr1.length; i++) { if (ele.id === arr1[i].id) { arr1.splice(i, 1) i = i - 1 } } }) console.log(arr1, '数组')

浙公网安备 33010602011771号