一、数组去重的部分方式
let arr = arr = [1, 2 , 2, ,3, 2 ,4 ,1, 1, 1, 2]
let newArr = arr.reduce(function (item, next) {
obj[next] ? '' : obj[next] = true && item.push(next)
return item
}, [])
console.log(newArr) // [1, 2, 3, 4]
二、对象数组去重的部分方法
利用对象访问属性的方法,判断对象中是否存在key
var boxnokema_02 = [{
key: '01',
value: '公祖'
}, {
key: '02',
value: '公祖2'
}, {
key: '03',
value: '公祖3'
}, {
key: '04',
value: '公祖4'
}, {
key: '01',
value: '公祖'
}, {
key: '01',
value: '公祖'
}
]
var kehushow2=false
var result_02 = []
var obj_02 = {}
for (var i = 0; i < boxnokema_02.length; i++) {
if (!obj_02[boxnokema_02[i].key]) {
result_02.push(boxnokema_02[i])
obj_02[boxnokema_02[i].key] = true
} else {
this.$message.warning('编码类型为辅材码的编码有重复的')
kehushow2=true
return
}
}
console.log(result_02); // [{key: "01", value: "公祖"},{key: "02", value: "公祖2"},{key: "03", value: "公祖3"},{key: "04", value: "公祖4"}]
利用两层for循环和布尔值的方法进行去重
for (var i = 0; i < boxnokema_02.length; i++) {
var flag = true;
for (var j = 0; j < result_02.length; j++) {
if (boxnokema_02[i].key === result_02[j].key) {
flag = false;
}
}
if (flag) {
result_02.push(boxnokema_02[i]);
}
}
console.log(result_02); // [{key: "01", value: "公祖"},{key: "02", value: "公祖2"},{key: "03", value: "公祖3"},{key: "04", value: "公祖4"}]
for (var i = 0; i < boxnokema_02.length; i++) {
for (var j = i + 1; j < boxnokema_02.length; j++) {
if (boxnokema_02[i].key === boxnokema_02[j].key) {
boxnokema_02.splice(j, 1);
j = j - 1;
}
}
}
console.log(boxnokema_02);// [{key: "01", value: "公祖"},{key: "02", value: "公祖2"},{key: "03", value: "公祖3"},{key: "04", value: "公祖4"}]
总结
以上参考【参考链接】 , 仅对数组(包含数组、对象数组)的去重的一些介绍,希望能够帮到您一些。