This method creates a new array with all sub-array elements concatenated into it recursively up to the specified depth.
Syntax – array.flat(depth?)
Note: Arguments followed by a question mark are optional.
const array = [ [1, 2], [3, 4], [[5, 6]] ]; const flattenedOnce = array.flat(); const flattenedTwice = array.flat(2); console.log(flattenedOnce); // expected output: Array [1, 2, 3, 4, [5, 6]] console.log(flattenedTwice); // expected output: Array [1, 2, 3, 4, 5, 6]
The reduceRight() method applies a function against an accumulator and each value of the array (from right-to-left) to reduce it to a single value. This method comes in pretty handy when you want to specify items in a left-to-right manner but execute them in a right-to-left manner.
You could use reduceRight() method to replace Array.reverse().reduce()
const numbers = [[0, 0], [1, 1], [2, 2]]; const modifiedNumbers = numbers.reduceRight( (a, b) => a.concat(b) ); console.log(modifiedNumbers); // expected output: Array [2, 2, 1, 1, 0, 0]
The lastIndexOf() method returns the last index at which a given element can be found in the array, or -1 if it is not present. The array is searched backwards, starting at fromIndex if this argument is available. The lastIndexOf() method is case-sensitive.
Syntax – array.lastIndexOf(searchValue, fromIndex?)
const names = ['John', 'Bolanle', 'Dwight', 'Mary']; console.log( names.lastIndexOf('Dwight') ); // expected output: 2 // -1 is returned if the searchValue is absent in the Array console.log( names.lastIndexOf('Tiger') ); // expected output: -1
See you next week 💙