📅  最后修改于: 2023-12-03 15:13:18.023000             🧑  作者: Mango
All 是一种 JavaScript 库,用于对数组进行操作,并提供了一些有用的辅助函数。它是一个轻量级的库,没有任何依赖关系,它极大地简化了 JavaScript 的开发。
All 的官方网站:https://all.js.org/
你可以通过 npm 或者 CDN 来安装 All。
通过 npm 安装:
npm install all --save
或者通过 CDN 引入:
<script src="https://cdn.jsdelivr.net/npm/all"></script>
All 提供了许多操作数组的方法:
find(arr, pred)
:在数组 arr 中查找第一个满足条件 pred(index, item) 的元素。findLast(arr, pred)
:在数组 arr 中查找最后一个满足条件 pred(index, item) 的元素。every(arr, pred)
:检查数组 arr 中的所有元素是否都满足条件 pred(index, item),返回 true 或者 false。some(arr, pred)
:检查数组 arr 中是否有满足条件 pred(index, item) 的元素,返回 true 或者 false。map(arr, func)
:对数组 arr 中的每个元素应用函数 func(item, index),并返回结果数组。filter(arr, pred)
:从数组 arr 中筛选出满足条件 pred(index, item) 的所有元素。reduce(arr, func, initialValue)
:使用函数 func(previousValue, currentItem, index, arr) 将数组 arr 中的所有元素累加到一个值中,初始为 initialValue。reduceRight(arr, func, initialValue)
:使用函数 func(previousValue, currentItem, index, arr) 将数组 arr 中的所有元素从右往左累加到一个值中,初始为 initialValue。reverse(arr)
:反转数组 arr。indexOf(arr, item)
:返回数组 arr 中值为 item 的元素索引,如果不存在则返回 -1。lastIndexOf(arr, item)
:返回数组 arr 中值为 item 的最后一个元素索引,如果不存在则返回 -1。includes(arr, item)
:检查数组 arr 是否包含值为 item 的元素,返回 true 或者 false。All 提供了许多操作字符串的方法:
startsWith(str, search)
:检查字符串 str 是否以 search 开头,返回 true 或者 false。endsWith(str, search)
:检查字符串 str 是否以 search 结尾,返回 true 或者 false。trim(str)
:删除字符串 str 左右两侧的空格。trimLeft(str)
:删除字符串 str 左侧的空格。trimRight(str)
:删除字符串 str 右侧的空格。All 还提供了一些辅助函数:
debounce(func, wait)
:创建一个 debounced 函数,在 wait 毫秒内只能被调用一次。throttle(func, wait)
:创建一个 throttled 函数,在每隔 wait 毫秒后才能被调用一次。import { map, filter, find } from 'all';
const people = [
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 30 },
{ name: 'Charlie', age: 35 }
];
const names = map(people, person => person.name); // ['Alice', 'Bob', 'Charlie']
const youngPeople = filter(people, person => person.age < 30); // [{ name: 'Alice', age: 25 }]
const bob = find(people, person => person.name === 'Bob'); // { name: 'Bob', age: 30 }
All 的代码基于 MIT 许可证开源,详见 https://github.com/bokub/all。
All 是一个轻量级、简单易用的 JavaScript 库,提供了许多有用的辅助函数来操作数组和字符串。它不依赖于任何其他库,可以方便地集成到你的项目中,大大优化你的 JavaScript 开发。