| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- /**
- *
- * @desc 数组扁平化
- * @param {Array} arr
- * @return {Array}
- */
- // 第一种方法:
- function arrayFlattening(arr) {
- var newArr = [],
- _this = this;
- for (var i = 0; i < arr.length; i++) {
- if (Array.isArray(arr[i])) {
- // 如果是数组,调用(递归)arrayFlattening 将其扁平化
- // 然后再 push 到 newArr 中
- newArr.push.apply(newArr, _this.arrayFlattening(arr[i]));
- } else {
- // 不是数组直接 push 到 newArr 中
- newArr.push(arr[i]);
- }
- }
- return newArr;
- };
- // 第二种方法:
- // function arrayFlattening(arr) {
- // var newArr = [];
- // for (var i = 0; i < arr.length; i++) {
- // if (Array.isArray(arr[i])) {
- // // 如果是数组,调用(递归)arrayFlattening 将其扁平化
- // // 然后再 push 到 newArr 中
- // newArr = newArr.concat(arrayFlattening(arr[i]));
- // } else {
- // // 不是数组直接 push 到 newArr 中
- // newArr.push(arr[i]);
- // }
- // }
- // return newArr;
- // };
- module.exports = arrayFlattening;
|