前后端数据交互无可避免处理数组,数组去重也是一个常用的方法,总结了两个方法:
export default {
/*
数组对象去重,例如
[
{
id: 1,
name: 'a'
},
{
id: 1,
name: 'a'
}
]
*/
deteleObject(obj) {
var uniques = [];
var stringify = {};
for (var i = 0; i < obj.length; i++) {
var keys = Object.keys(obj[i]);
keys.sort(function(a, b) {
return (Number(a) - Number(b));
});
var str = '';
for (var j = 0; j < keys.length; j++) {
str += JSON.stringify(keys[j]);
str += JSON.stringify(obj[i][keys[j]]);
}
if (!stringify.hasOwnProperty(str)) {
uniques.push(obj[i]);
stringify[str] = true;
}
}
uniques = uniques;
return uniques;
},
/*
数组去重 例如[1,2,3,1,2,5,6,7,8]
*/
arrayDeduplication(list){
let newArray = [...new Set(list)];
return newArray
}
}
这里要注意就是处理完会返回一个新数组,然后定义一个新的数组接收一下
demo演示:
作为一个走向成熟的前端工程师,后面会慢慢的封装一些方法方便使用