这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
flat() 方法会递归到指定深度将所有子数组连接,并返回一个新数组。
{{EmbedInteractiveExample("pages/js/array-flatten.html")}}
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
语法
var newArray = arr.flat(depth)
参数
depth可选- 指定嵌套数组中的结构深度,默认值为1。
返回值
一个将子数组连接的新数组.
示例
扁平化嵌套数组
var arr1 = // [1, 2, 3, 4] var arr2 = // [1, 2, 3, 4, [5, 6]] var arr3 = // [1, 2, 3, 4, 5, 6]
扁平化与空项
flat()方法会移除数组中的空项:
var arr4 =
// [1, 2, 4, 5]
//=> [1, 2, 3, 4, 5, 6, 7, 8, 9]
规范
| 规范 | 状态 | 说明 |
|---|---|---|
Array.prototype.flat proposal |
Draft |
浏览器兼容性
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
| Desktop | Mobile | Server | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Basic support | Chrome Full support 69 | Edge No support No | Firefox Full support 62 | IE No support No | Opera Full support 56 | Safari Full support 12 | WebView Android Full support 69 | Chrome Android Full support 69 | Edge Mobile No support No | Firefox Android Full support 62 | Opera Android Full support 56 | Safari iOS Full support 12 | Samsung Internet Android No support No | nodejs No support No |
Legend
- Full support
- Full support
- No support
- No support
- Experimental. Expect behavior to change in the future.
- Experimental. Expect behavior to change in the future.