天天看点

JS 二维数组转变成一维数组

实现代码如下所示

var twoArray = [["a", "b", "c"], ["d", "e", "f"]];
// 使用apply()使其所指的对象为一维数组,然后通过twoArray来传递相关的参数
var oneArray = [].concat.apply([], twoArray);
// reduce()方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值
// 语法:array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
// function(total, currentValue, index, arr) 必需。用于执行每个数组元素的函数
	// total 必需,初始值,或者计算结束后的返回值
	// currentValue 必需,当前元素
	// currentIndex 可选,当前元素的索引
	// arr 可选,当前元素所属的数组对象
// initialValue 可选,传递给函数的初始值
var oneArrayOther = twoArray.reduce(function(a,b){return a.concat(b)})
console.log(oneArray);  //[ 'a', 'b', 'c', 'd', 'e', 'f' ]
console.log(oneArrayOther);   //[ 'a', 'b', 'c', 'd', 'e', 'f' ]