【Vue源码】将二维数组变为一维数组

语法:

Array.prototype.concat.apply([],array);

示例:

concat

如果concat方法的参数是一个元素,该元素会被直接插入到新数组中;如果参数是一个数组,该数组的各个元素将被插入到新数组中;

apply

apply方法会调用一个函数,apply方法的第一个参数会作为被调用函数的this值,apply方法的第二个参数(一个数组,或类数组的对象)会作为被调用对象的arguments值,也就是说该数组的各个元素将会依次成为被调用函数的各个参数;

test作为apply方法的第二个参数,本身是一个数组,数组中的每一个元素(还是数组,即二维数组的第二维)会被作为参数依次传入到concat中,效果等同于[].concat([1,2],2)=>[1,2,2];

同样,若多维数组可使用递归 +Array.prototype.concat.apply()实现降维;

原文地址:https://www.cnblogs.com/vickylinj/p/13399649.html