本文旨在收集项目中常用到的数组数据的一些处理方法,包括去重、结构转换及一些数组算法方面的函数方法,便于今后复习巩固,如有案例提供或者发现本文错误,欢迎留言。
一、 数组去重
去除数组中重复的元素,并返回去重后的新数组
1、只包含基本类型元素的数组去重
const array = [ "a", "a", true, true, 15, 15, false, false, undefined, undefined, null, null, NaN, NaN ];
// 通过ES6的Set去重
function uniqueUseSet(arr) {
if (!Array.isArray(arr)) {
throw new Error('function uniqueUseSet expect an array param!');
}
return Array.from(new Set(arr));
}
console.log(uniqueUseSet(array));
// op: ['a', true, 15, false, undefined, null, NaN]
// 通过遍历和includes去重
function uniqueUseIncludes(arr) {
if (!Array.isArray(arr)) {
throw new Error('function uniqueUseSet expect an array param!');
}
const result = [];
for (let i = 0, len = arr.length; i < len; i++) {
if (!result.includes(arr[i])) {
result.push(arr[i]);
}
}
return result;
}
console.log(uniqueUseIncludes(array));
// op: ['a', true, 15, false, undefined, null, NaN]