多维数组转一维数组------2019-03-31

多维数组的解释:简单点就是数组里面套数组,举个例子:let arr = [1,[2,[[3,4],5],6]]; 这个数组的第一个元素是数字1,第二个元素是一个数组,第二个数组元素的第一项是2,第二项又是一个数组,这就是多维数组;
碰到多维数组怎么办?
首先数组有三个所有对象都共有的方法:valueOf()、toString()、toLocaleString()
(1)数组调用valueOf()方法并没有什么影响, 返回的还是数组本身;
(2)数组调用toString()方法,为了将数组转换为以逗号分隔字符串,后台会默认做一件事,就是为数组中的每一个元素都调用一下toString()方法,这个方法也是数组元素默认调用的方法,
比如我们alert(数组)时,alert默认接收的是字符串,因此系统会默认先将数组转换成字符串,这时,数组调用的是toString()方法,而不是toLocaleString()方法;数组中的每一项也是调用toString()方法;
(3)数组调用toLocaleString()方法,的结果和toString()方法相同,与toString()方法的不同就是,数组的每一项调用的也是toLocaleString()方法;
因此,碰到多维数组,我们直接调用数组的toString()方法,将数组转换成以逗号分隔的字符串,然后我们再调用字符串的split()方法,将字符串转成数组,注意的是,split()方法会将分割出的每一项都转换成字符串,我们需要按照需求,再对数组元素进行进一步操作;
来个简单例子:
let arr = [1,[2,[[3,4],5],6]];
let str = arr.toString().split(',')//将多维数组转换为:["1", "2", "3", "4", "5", "6"],需要进一步操作,将数组的每一项都转换为数字
let temp=[]
for(let i=0; i temp.push(Number(str[i]))
}
【多维数组转一维数组------2019-03-31】console.log(temp)

    推荐阅读