展开多维数组(Array.prototype.flat)|展开多维数组(Array.prototype.flat) 的实现
Array.prototype.flat是指将多维数组展开为一维数组,例如
[0, [1], [[2]], [[[3]]]].flat() => [0, 1, 2, 3]
截止目前(2020年1月)为止,该方法还处于草稿阶段,也就是说不是所有版本的浏览器都支持flat方法,具体浏览器支持如下:
Browser | version |
---|---|
Chrome | 69 |
Safari | 69 |
Firefox | 62 |
Edge | No |
IE | No |
Opera | 12 |
Android webview | 69 |
Chrome for Android | 62 |
Safari for IOS | 12 |
Node.js | 11.0.0 |
function flatArra(arr){
const flatten = [];
(function flat(input){
input.forEach(one => {
if(Array.isArray(one)){
flat(one);
} else {
flatten.push(one);
}
})
})(arr)
return flatten;
}flatArra([0, [1], [[2]]]) // [0, 1, 2]
推荐阅读
- 数组常用方法一
- Java|Java基础——数组
- JS常见数组操作补充
- JS|JS 数组求和与数组求平均值
- 超帅的js数组去重
- JavaScript|JavaScript — 初识数组、数组字面量和方法、forEach、数组的遍历
- JavaScript判断数组的方法总结与推荐
- 一些非常有用的snippets
- [leetcode数组系列]1两数之和
- 零长度数组与柔性数组