The Little-Known Third Parameter in High-Level Array Functions in JavaScript: Array

Halil Atilla
2 min readMar 31, 2023

--

High-level array functions in JavaScript, such as forEach, map, filter, and reduce, are commonly used when writing modern JavaScript code. These functions allow us to write efficient and readable code. There are two frequently used parameters in the callback functions of these methods: element and index. However, there is a third parameter defined for these functions: array.

In this article, we will examine what this lesser-known and rarely used third parameter (array) is and provide examples of its usage.

What is the Array Parameter?

The array parameter allows you to reference the array being processed. This enables you to perform operations on or access the array within the callback function. Let's proceed with an example:

const numbers = [1, 2, 3, 4, 5];

numbers.forEach(function (number, index, array) {
console.log(`The ${index}th element of the array: ${number}`);
console.log('The array being processed:', array);
});

In this example, the forEach function is used to process the numbers array. The third parameter, array, is used in the callback function, which allows access to the array being processed.

Use Cases for the Array Parameter

Here are some scenarios where the array parameter can be utilized:

Updating array elements

With the array parameter, you can update array elements within the callback function:

const updatedNumbers = [1, 2, 3, 4, 5];

updatedNumbers.forEach(function (number, index, array) {
array[index] = number * 2;
});

console.log('Updated array:', updatedNumbers);

Performing operations using the position of array elements

When processing an array, you may want to access previous or next elements. In this case, the array parameter can be helpful:

const differences = [];

numbers.forEach(function (number, index, array) {
if (index < array.length - 1) {
differences.push(array[index + 1] - number);
}
});

console.log('Differences between elements:', differences);

In this example, we use the array parameter to calculate the differences between consecutive elements of the numbers array. We access the next element using the expression array[index + 1].

Processing nested arrays

The array parameter can be used when working with nested arrays. In this case, you can perform operations by accessing the top-level array using the array parameter:

const matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
];

matrix.forEach(function (row, rowIndex, outerArray) {
row.forEach(function (element, columnIndex, innerArray) {
console.log(`(${rowIndex}, ${columnIndex}): ${element}`);
console.log('Inner array:', innerArray);
console.log('Outer array:', outerArray);
});
});

In this example, we process a nested array called matrix. We access the inner and outer arrays using the array parameter in the callback function.

Conclusion

High-level array functions in JavaScript are quite useful and powerful. The array parameter in the callback function of these methods allows us to perform various operations in different usage scenarios. This parameter can be used for situations such as establishing relationships between elements, updating elements, or working with nested arrays. Therefore, it's beneficial not to overlook this lesser-known and used parameter, as it can provide additional flexibility and functionality when working with arrays in JavaScript. By understanding and utilizing the array parameter, you can write more efficient and versatile code, ultimately enhancing your JavaScript programming skills.

--

--