代码拉取完成,页面将自动刷新
同步操作将从 高翔/大前端 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
<!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>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。