We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

这篇翻译不完整。请帮忙从英语翻译这篇文章

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

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

语法

var newArray = arr.flatten(depth)

参数

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

返回值

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

示例

扁平化嵌套数组

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

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

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

扁平化与空项

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

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

规范

规范 状态 说明
Array.prototype.flatten proposal Draft  

浏览器兼容性

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support No No No1 No No No
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support No No No No1 No No No

1. Available in Firefox Nightly only. See bug 1435813 for status on enabling this by default.

相关链接

文档标签和贡献者

此页面的贡献者: fisker, Braised-Cakes
最后编辑者: fisker,