在此处使用reduce毫无意义,但是您可以使用新数组作为累加器并对所有元素进行插入排序:
array.reduce((sorted, el) => { let index = 0; while(index < array.length && el < array[index]) index++; sorted.splice(index, 0, el); return sorted;}, []);
这是 没有 reduce 的版本:
array.sort((a, b) => a - b);
现在写一些减速器的一般技巧:
reduce回调函数必须如何?
您要么采用累加器的方法,然后减速器应基于当前元素对累加器进行修改并返回:
(acc, el) => acc
或者,如果累加器和元素具有健全的类型并且在逻辑上相等,则无需区分它们:
(a, b) => a + b
reduce函数的initialValue是多少?
您应该问自己 “将空数组应用于返回值时应如何减少收益?”
现在最重要的是:何时减少使用?(IMO)
如果要将数组的值简化为 一个值或对象 。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)