- 1. 克隆数组
- 2. 合并数组
- 3. 去重数组
- 4. 混淆数组
- 5. 清空数组
- 6. 截断数组
- 7. 交换赋值
- 8. 过滤空值 (空值:undefined、null、”“、0、false、NaN)
- 9. 异步累计
- 10. 数字首部插入成员
- 11. 数字尾部插入成员
1. 克隆数组
const _arr = [0, 1, 2];
const arr = [..._arr];
// arr => [0, 1, 2]
2. 合并数组
const arr1 = [0, 1, 2];
const arr2 = [3, 4, 5];
const arr = [...arr1, ...arr2];
// arr => [0, 1, 2, 3, 4, 5];
3. 去重数组
const arr = [...new Set([0, 1, 1, null, null])];
// arr => [0, 1, null]
4. 混淆数组
const arr = [0, 1, 2, 3, 4, 5].slice().sort(() => Math.random() - .5);
// arr => [3, 4, 0, 5, 1, 2]
5. 清空数组
const arr = [0, 1, 2];
arr.length = 0;
// arr => []
6. 截断数组
const arr = [0, 1, 2];
arr.length = 2;
// arr => [0, 1]
7. 交换赋值
let a = 0;
let b = 1;
[a, b] = [b, a];
// a b => 1 0
8. 过滤空值 (空值:undefined、null、”“、0、false、NaN)
const arr = [undefined, null, "", 0, false, NaN, 1, 2].filter(Boolean);
// arr => [1, 2]
9. 异步累计
async function Func(deps) {
return deps.reduce(async(t, v) => {
const dep = await t;
const version = await Todo(v);
dep[v] = version;
return dep;
}, Promise.resolve({}));
}
const result = await Func(); // 需在async包围下使用
10. 数字首部插入成员
let arr = [1, 2]; // 以下方法任选一种
arr.unshift(0);
arr = [0].concat(arr);
arr = [0, ...arr];
// arr => [0, 1, 2]
11. 数字尾部插入成员
let arr = [0, 1]; // 以下方法任选一种
arr.push(2);
arr.concat(2);
arr[arr.length] = 2;
arr = [...arr, 2];
// arr => [0, 1, 2]