一个实用的JavaScript工具库,提供各种常用的数组操作函数。
npm install wisdin-utilsbash
npm install wisdin-utils
`
使用
`javascript
// 导入所有数组工具函数
import * as arrayUtils from 'wisdin-utils';
// 或者按需导入
import { unique, flatten, sort } from 'wisdin-utils';
// 使用示例
const arr = [1, 2, 2, 3, 3, 3];
console.log(arrayUtils.unique(arr)); // [1, 2, 3]
`
数组操作函数
$3
数组去重
`javascript
unique([1, 2, 2, 3, 3, 3]); // [1, 2, 3]
`
$3
数组扁平化
`javascript
flatten([1, [2, [3]]]); // [1, 2, [3]]
flatten([1, [2, [3]]], 2); // [1, 2, 3]
flatten([1, [2, [3]]], Infinity); // [1, 2, 3]
`
$3
数组排序
`javascript
sort([3, 1, 2]); // [1, 2, 3]
sort([{ age: 30 }, { age: 20 }, { age: 40 }], (a, b) => a.age - b.age);
// [{ age: 20 }, { age: 30 }, { age: 40 }]
`
$3
数组过滤
`javascript
filter([1, 2, 3, 4, 5], (num) => num % 2 === 0); // [2, 4]
`
$3
数组映射
`javascript
map([1, 2, 3], (num) => num * 2); // [2, 4, 6]
`
$3
数组合并
`javascript
concat([1, 2], [3, 4], [5, 6]); // [1, 2, 3, 4, 5, 6]
`
$3
数组比较
`javascript
isEqual([1, 2, 3], [1, 2, 3]); // true
isEqual([1, 2, 3], [3, 2, 1]); // false
isEqual([{ id: 1 }], [{ id: 1 }], (a, b) => a.id === b.id); // true
`
$3
数组查找
`javascript
find([1, 2, 3, 4, 5], (num) => num > 3); // 4
find([1, 2, 3, 4, 5], (num) => num > 10); // undefined
`
$3
数组查找索引
`javascript
indexOf([1, 2, 3, 2, 1], 2); // 1
indexOf([1, 2, 3, 2, 1], 2, 2); // 3
indexOf([1, 2, 3], 4); // -1
`
$3
数组包含
`javascript
includes([1, 2, 3], 2); // true
includes([1, 2, 3], 4); // false
`
$3
数组填充
`javascript
fill([1, 2, 3, 4, 5], 0, 1, 4); // [1, 0, 0, 0, 5]
`
$3
数组切片
`javascript
slice([1, 2, 3, 4, 5], 1, 4); // [2, 3, 4]
`
$3
数组反转
`javascript
reverse([1, 2, 3, 4, 5]); // [5, 4, 3, 2, 1]
`
$3
数组求和
`javascript
sum([1, 2, 3, 4, 5]); // 15
sum([]); // 0
`
$3
数组平均值
`javascript
average([1, 2, 3, 4, 5]); // 3
average([]); // 0
`
$3
数组最大值
`javascript
max([1, 2, 3, 4, 5]); // 5
max([]); // undefined
`
$3
数组最小值
`javascript
min([1, 2, 3, 4, 5]); // 1
min([]); // undefined
`
测试
运行测试:
`bash
npm test
``