#all
判断集合中的数据是否都满足某个条件,然后做数据处理。
const all = (arr, fn = Boolean) => arr.every(fn);all([4, 2, 3], x => x > 1); // trueall([1, 2, 3]); // true
#allEqual
判断数组里的数据是否都和第一个元素相同
const allEqual = arr => arr.every(val => val === arr[0]);allEqual([1, 2, 3, 4, 5, 6]); // falseallEqual([1, 1, 1, 1]); // true
#any
如果提供的谓词函数对集合中的至少一个元素返回true,则返回true,否则返回false。
const any = (arr, fn = Boolean) => arr.some(fn);any([0, 1, 2, 0], x => x >= 2); // trueany([0, 0, 1, 0]); // true
#arrayToCSV
将2维(2d)数组转换为逗号分隔值CSV类型字符串。
const arrayToCSV = (arr, delimiter = ',') => arr .map(v => v.map(x => (isNaN(x) ? `"${x.replace(/"/g, '""')}"` : x)).join(delimiter)) .join('\n');arrayToCSV([['a', 'b'], ['c', 'd']]); // '"a","b"\n"c","d"'arrayToCSV([['a', 'b'], ['c', 'd']], ';'); // '"a";"b"\n"c";"d"'arrayToCSV([['a', '"b" great'], ['c', 3.1415]]); // '"a","""b"" great"\n"c",3.1415'
#bifurcate
将值分成两组。如果filter中的元素为true,则集合中对应的元素属于第一组;否则,它属于第二组。