迭代+展开运算符12345678// 每次while都会合并一层的元素,这里第一次合并结果为[1, 1, 2, 1, 2, 3, [4,4,4]]// 然后arr.some判定数组中是否存在数组,因为存在[4,4,4],继续进入第二次循环进行合并let arr = [1, [1,2], [1,2,3,[4,4,4]]]while (arr.some(Array.isArray)) { arr = [].concat(...arr);}console.log(arr) // [1, 1, 2, 1, 2, 3, 4, 4, 4]