List
zipWith()
将两个列表对位处理后构成新的列表。
- Type
- Details
第一个参数传入一个二元函数
返回一个长度与传入的列表相同的结果列表
- Example
const f = (a, b) => a + b;
zipWith(f, [1, 2, 3], [4, 5, 6]); //[5, 7, 9]const f = (a, b) => a + b;
zipWith(f, [1, 2, 3], [4, 5, 6]); //[5, 7, 9]zip()
将两个列表对位组合后生成新的列表。
- Type
- Details
传入两个长度相等的列表(记为
返回一个长度与传入列表相同的结果列表
该函数与 zipWith((a,b)=>[a,b]) 等价。
- Example
zip([1, 2, 3], [4, 5, 6]); //[[1, 4], [2, 5], [3, 6]]zip([1, 2, 3], [4, 5, 6]); //[[1, 4], [2, 5], [3, 6]]join()
将列表中全部元素通过分隔符连接成一个字符串。
- Type
- Details
第一个参数传入一个字符串代表分隔符,第二个参数传入一个列表,返回值为最终连接的字符串。
- Example
join('|', [1, 2, 3]); //"1|2|3"
join('|')([1, 2, 3]); //"1|2|3"join('|', [1, 2, 3]); //"1|2|3"
join('|')([1, 2, 3]); //"1|2|3"slice()
截取列表的一部分区间。
- Type
- Details
前两个参数传入两个整数代表开始截取的位置和结束截取的位置,返回值为截取到的区间。
- Example
slice(0, 3, [1, 2, 3, 4]); //[1, 2, 3]slice(0, 3, [1, 2, 3, 4]); //[1, 2, 3]take()
从列表头开始截取元素。
- Type
- Details
第一个参数传入一个整数
- Example
take(3, [1, 2, 3, 4]); //[1, 2, 3]]take(3, [1, 2, 3, 4]); //[1, 2, 3]]takeWhile()
从列表头开始按规则截取元素。
- Type
- Details
第一个参数传入一个函数
接下来从头开始截取元素加入结果列表,若某元素作为 true,则停止截取。
返回值为按规则截取的新列表。
- Example
takeWhile((v) => v < 3, [1, 1, 4, 5, 1, 4]); //[1, 1]takeWhile((v) => v < 3, [1, 1, 4, 5, 1, 4]); //[1, 1]drop()
从列表头开始删除元素。
- Type
- Details
注意:该函数不会改变参数。
第一个参数传入一个整数
- Example
drop(3, [1, 2, 3, 4]); //[4]drop(3, [1, 2, 3, 4]); //[4]dropWhile()
从列表头开始按规则删除元素。
- Type
- Details
注意:该函数不会改变参数。
第一个参数传入一个函数
接下来从头开始删除列表中的元素,若某元素作为 true,则停止删除。
返回值为按规则删除元素后的新列表。
- Example
dropWhile((v) => v < 3, [4, 5, 1, 4]); //[4, 5, 1, 4]dropWhile((v) => v < 3, [4, 5, 1, 4]); //[4, 5, 1, 4]every()
检查一个列表,其必须完全满足需求。
- Type
- Details
第一个参数传入一个判断函数,第二个参数传入一个列表。
如果列表中的所有元素都满足:作为判断函数的参数时函数值为 true,则返回 true,否则返回 fasle。
- Example
every((v) => v < 3, [1, 1, 4, 5, 1, 4]); //falseevery((v) => v < 3, [1, 1, 4, 5, 1, 4]); //falsesome()
检查一个列表,其有任意一个元素满足需求即可。
- Type
- Details
第一个参数传入一个判断函数,第二个参数传入一个列表。
如果列表中的任意一个元素满足:作为判断函数的参数时函数值为 true,则返回 true,否则返回 fasle。
- Example
some((v) => v < 3, [1, 1, 4, 5, 1, 4]); //truesome((v) => v < 3, [1, 1, 4, 5, 1, 4]); //trueconcat()
拼接两个列表(可为字符串)。
- Type
- Details
传入两个列表,返回其拼接后的结果。
- Example
concat([3, 2, 1], [1, 2, 3]); //[3, 2, 1, 1, 2, 3]concat([3, 2, 1], [1, 2, 3]); //[3, 2, 1, 1, 2, 3]concatr()
反向拼接两个列表(可为字符串)。
- Type
- Details
传入两个列表,返回其反向拼接后的结果。
- Example
concat([3, 2, 1], [1, 2, 3]); //[1, 2, 3, 3, 2, 1]concat([3, 2, 1], [1, 2, 3]); //[1, 2, 3, 3, 2, 1]head()
取出列表的首项。
- Type
- Details
传入一个列表,返回其首项。
- Example
head([1, 2, 3]); //1head([1, 2, 3]); //1tail()
取出列表的尾项。
- Type
- Details
传入一个列表,返回其尾项。
- Example
tail([1, 2, 3]); //3tail([1, 2, 3]); //3dropHead()
返回列表删除首项后的结果。
- Type
- Details
传入一个列表,返回列表删除首项后的结果。
- Example
dropHead([1, 2, 3]); //[2, 3]dropHead([1, 2, 3]); //[2, 3]dropTail()
返回列表删除尾项后的结果。
- Type
- Details
传入一个列表,返回列表删除尾项后的结果。
- Example
dropTail([1, 2, 3]); //[1, 2]dropTail([1, 2, 3]); //[1, 2]includes()
判断某值是否在列表中。
- Type
- Details
传入一个需要检验的值,再传入一个列表,返回的结果为该值是否在列表中。
- Example
includes(4)([1, 3, 4]); //true
includes(5)([1, 3, 4]); //falseincludes(4)([1, 3, 4]); //true
includes(5)([1, 3, 4]); //falsereverse()
翻转列表。
- Type
- Details
传入一个列表,返回其翻转后的结果。
- Example
reverse([1, 2, 3]); //[3, 2, 1]reverse([1, 2, 3]); //[3, 2, 1]countWith()
- Type
- Details
传入一个规则,再传入一个列表,按规则统计其中符合规则的元素数。
- Example
countWith(equal(5), [1, 2, 3, 4, 5, 5, 5]); //3countWith(equal(5), [1, 2, 3, 4, 5, 5, 5]); //3count()
- Type
- Details
传入一个值,再传入一个列表,查找列表中该值出现的次数。
- Example
count([1, 2, 3, 4, 5, 5, 5]); //3count([1, 2, 3, 4, 5, 5, 5]); //3pairList()
- Type
- Details
传入一个列表,返回其首项与首项后的元素构成的列表。
- Example
const [x, xs] = pairList([1, 2, 3, 4, 5]); // x=1, xs=[2, 3, 4, 5]const [x, xs] = pairList([1, 2, 3, 4, 5]); // x=1, xs=[2, 3, 4, 5]