Set a multidimensional array

let arr = [1[2[3.4].5,].6.7.8.9]
Copy the code

Flat () is used in ES6. If the parentheses are not written, the default value is 1. Infinity stands for Infinity

let newarr = arr.flat(Infinity)
console.log(newarr)   //[1, 2, 3, 4, 5, 6, 7, 8, 9]
Copy the code

Second, with regular expressions, the drawback is that each item in the array becomes a string

let newarr = JSON.stringify(arr).replace(/\[|\]/g, '').split(',')
console.log(newarr2); //['1', '2', '3', '4', '5', '6','7', '8', '9']
Copy the code

3. Improved version of regular expression

let newarr = JSON.parse("["+JSON.stringify(arr).replace(/\[|\]/g, '')+"]") console.log(newarr); //[1, 2, 3, 4, 5, 6, 7, 8, 9]Copy the code

Fourth, the recursion

let newarr = []
const fnc = function (arr) {
    for (let i = 0; i < arr.length; i++) {
        if (Array.isArray(arr[i])) {
            fnc(arr[i])
        } else {
            newarr.push(arr[i])
        }
    }
 }
fnc(arr)
console.log(newarr);  // [1, 2, 3, 4, 5, 6, 7, 8, 9]
Copy the code