处理数组扁平化的几种方式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>数组扁平化</title>
</head>
<body>
<script>
//第一种方法 数组的扁平化处理flat方法/参数Infinity深度的意思
let arr=[1,2,[3,4,[5,[6]]]]
// console.log(arr.flat(Infinity));
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 第二种方法 reduce(数组每一项相加之和)方法加concat(多个数组的合并)方法还有用到递归
//.reduce((res,item)res为累加值,item为每一项
// function fn(Arr) {
// return Arr.reduce((res,item)=>{
// return res.concat(Array.isArray(item)?fn(item) :item)
// },[])} //要先给res一个空的数组让他不报错
//console.log(fn(arr));
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//第三种方法 将多维数组转字符串再转数组
//先用join将数组转成一个整体的字符串,再用spilt(',')加个逗转成以逗号分割的数组包含的
//字符串,在用map方法将每一项强制转换成数字类型
function Fn(Arr){
return Arr.join().split(',').map((item,index)=>{
return Number(item)
})
}
console.log(Fn(arr));
</script>
</body>
</html>