//Array.isArray() 判断数组
var arr = [1,2,3,4,[5,6,[7,8]]]; //一个三维数组
// var arr2 = arr.slice()
// console.log(arr2);
function deepArr(arr) { //构造一个函数
var newArr = [] //var 一个函数用于装东西 记得一定在for外层
for(var i = 0; i < arr.length ; i++){ //遍历一下第层的数组小标
//newArr.push(arr[i]) 这个arr[i]有可能还是一个数组
if(Array.isArray(arr[i])) { //判断第一层下标上的数组/数值 是数组内部调用一下这个函数继续遍历
//继续遍历数组 ,还是得到一个数组
var list = deepArr(arr[i]); //拿一个list盒子装起来 ,
//再把得到的数组放入newArr
newArr.push(list) //向newArr尾部加入数组数组数组数组数组
}else { //判断第一层下标上的数组/数值 是数组内部调用一下这个函数继续遍历
newArr.push(arr[i]); //向newArr尾部加入数值数值数值数值数值
}
}
return newArr //外面传了一个信号进入,里面处理完毕.返回处理结果
}
var res = deepArr(arr) ;
res[4].push('a');
console.log(res)
console.log(arr);;