JavaScriptでreduceの使い方

1004 ワード

簡単に言えば、reduceは配列の方法です.
array.reduce((total, current, index, arr) => {
	//   
}, initialValue);
次は直接例を見ましょう.
const array = [1, 2, 3];
const init = 0;
const total =  array.reduce((total, curr, index, arr) => {
	// total         ,curr     ,index   ,arr     
	return total += curr;
}, init); // 6
initはデジタルタイプなので、arr.reduceが戻ってくるのも1つの数字で、arrayに対しては何の処理もしていません.
2.これからどうやって現在の配列を変更するのかを見ます.
//                
const object = [{
    name: 'a‘,
	sex: 'girl',
	age: 11
}, {
	name: 'b‘,
	sex: 'girl',
	age: 12
}, {
	name: 'c‘,
	sex: 'girl',
	age: 13
}, {
	name: 'd‘,
	sex: 'girl',
	age: 14
}];
//name=aなら、属性workを追加します.「IT」
object.reduce((total, curr, index, arr) => {  // index arr    
	if (curr.name === 'a') {
		Object.assign(curr, { work: 'IT' });
	}
}, []);
これでmap+修正の役割が達成できます.
もっと多くの使い方を参考してください.https://www.jianshu.com/p/e375ba1cfc47