数组扁平化(降维过程,多维数组经过扁平化变成一维数组)
假如有数组 var arr = [1, [2, 3, [4]]] ,把arr变成[1, 2, 3, 4],即让多维数组降维,转换为只有一层的数组
常用实现方法:递归方法、reduce等。
第一种:递归实现

第二种:reduce实现
reduce介绍:为数组中的每一个元素依次执行回调函数(不包括数组中被删除或未被赋值的元素)
格式:array.reduce(function(prev, currentValue, currentIndex, arr), initialValue)
callback (执行数组中每个值的函数,包含四个参数)
prev 如果是第一个,那就是初始值,否则就是上一次调用回调返回的值
cur (数组中当前被处理的元素)
index (当前元素在数组中的索引)
array (调用 reduce 的数组)
initialValue 作为初始值传递给函数的值 ,作为第一次调用 callback 的第一个参数。)

实现数组扁平化