当前位置:首页 > 手册大全 > javascript手册 > Array.prototype.flat()

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

flat() 方法会递归到指定深度将所有子数组连接,并返回一个新数组。

语法

var newArray = arr.flat(depth)

参数

depth 可选
指定嵌套数组中的结构深度,默认值为1。

返回值

一个将子数组连接的新数组.

示例

扁平化嵌套数组

var arr1 = [1, 2, [3, 4]];
arr1.flat(); 
// [1, 2, 3, 4]

var arr2 = [1, 2, [3, 4, [5, 6]]];
arr2.flat();
// [1, 2, 3, 4, [5, 6]]

var arr3 = [1, 2, [3, 4, [5, 6]]];
arr3.flat(2);
// [1, 2, 3, 4, 5, 6]

扁平化与空项

flat()方法会移除数组中的空项:

var arr4 = [1, 2, , 4, 5];
arr4.flat();
// [1, 2, 4, 5]
//=> [1, 2, 3, 4, 5, 6, 7, 8, 9]

规范

规范 状态 说明
Array.prototype.flat proposal Candidate (3)  

浏览器兼容性

Update compatibility data on GitHub
Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Edge Mobile Firefox for Android Opera for Android Safari on iOS Samsung Internet Node.js
Basic support
Experimental
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.

相关链接

公益性全栈资源网站,鸣谢默默付出的博主、工程师、架构师们。
网站内容来源技术大牛的辛勤结晶。
81For 技术网站 Copyright ©2019 备案号:津ICP备19001147号-2