Home  >  Article  >  Web Front-end  >  How to use reduce() in JavaScript

How to use reduce() in JavaScript

不言
不言Original
2019-01-08 16:48:075424browse

reduce() is the best way to accumulate each element of array data into a value, so in this article we will introduce in detail how to use reduce() in JavaScript.

How to use reduce() in JavaScript

Let’s take a look at the specific content.

Suppose we have an array like this:

var numbers = [1,2,3,4,5,6,7,8,9];

var strings = ['苹果','香蕉','梨子','葡萄','荔枝'];

In this example, we have prepared an array to store numeric data and an array to store string data.

The most obvious way to use reduce() is to compute the value of all values ​​stored in such an array.

If it is a numeric value, you can calculate the summed value, if it is a character, you can concatenate the individual strings together.

Let's seeHow to use reduce()?

reduce() can execute any function on the target array.

数组.reduce(function(累积值, 元素) { })

The "cumulative value" of the first parameter represents the value obtained by processing the array elements in sequence.

The second parameter "element" represents the currently processed array element.

Use "return" in this function. By returning any processing, the result is retained in the accumulated value, and finally a value can be obtained.

Let’s look at a specific example

Sum each element of the array

The code is as follows

var numbers = [1,2,3,4,5,6,7,8,9];
var result = numbers.reduce(function(a, b) {
  return a + b;
})
console.log(result);

The running results are as follows

How to use reduce() in JavaScript

In this example, reduce() is performed on an array storing numbers from 1 to 9.

In the function you can see the accumulated values ​​and each element is simply added.

becomes "1 2" in the first processing, stores the sum in the accumulated value, and performs "3 3" in the next processing.

By doing this, the running result output is that the sum of all values ​​​​is "45".

Finally we need to explain one thing:

It is not allowed to use the "break" interrupt processing method in the reduce() function, so as an alternative, there is an interrupt that uses the index number of the array Let’s take a brief look at the method below.

Actually, the reduce() function can have up to four parameters.

配列.reduce(function(累积值, 元素, 索引号, 数组) { })

The third parameter "index number" represents the index number of the currently processed array.

The fourth parameter "array" represents the array itself currently being processed.

Using this parameter, the interrupt process can be implemented as follows!

var numbers = [1,2,3,4,5,6,7,8,9];
var result = numbers.reduce(function(a, b, index, arr) {
  if(index >= 3) arr.splice(1);
  return a + b;
});
console.log(result);

The running results are as follows

How to use reduce() in JavaScript

Please pay attention to the IF statement in the reduce() function!

By describing "index> = 3" in the conditional expression, when it becomes the third index number of the array, arbitrary processing can be performed.

The process becomes "arr.splice(1)" and removes all array elements after the third index.

Thus, the processing of reduce() will end, so you can perform the same function as "break".

The above is the detailed content of How to use reduce() in JavaScript. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn