1 Star 0 Fork 3

AlfaLee/大前端

forked from 高翔/大前端 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
数组扁平化.html 961 Bytes
一键复制 编辑 原始数据 按行查看 历史
高翔 提交于 2021-07-22 10:49 . 第一次提交
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>数组扁平化</title>
</head>
<body>
</body>
<script type="text/javascript">
let arr = [1, [2, 3, [4, 5, 6],
[{
name: '7777'
}],
[{
name: '88888'
}]
], 8, 0, [{
name: '99999'
}]];
//方法一 flat(需要展开的层级数量)
console.log(arr.flat(Infinity))
// 方法二
let arr2 = JSON.stringify(arr).replace(/\[|\]/g, '')
console.log(JSON.parse('[' + arr2 + ']'))
// 方法三(递归)
const myArr = [];
const fn = (arr) => {
for (let i = 0; i < arr.length; i++) {
if (Array.isArray(arr[i])) {
fn(arr[i])
} else {
myArr.push(arr[i])
}
}
}
fn(arr)
console.log(myArr)
// 方法四(reduce)详见reduce.html
const newArr = (arr) => {
return arr.reduce((prev, cur) => {
return prev.concat(Array.isArray(cur) ? newArr(cur) : cur)
}, [])
}
console.log(newArr(arr))
</script>
</html>
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/alfalee_admin/big-front-end.git
[email protected]:alfalee_admin/big-front-end.git
alfalee_admin
big-front-end
大前端
master

搜索帮助