数组扁平化

247 阅读1分钟
var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];
		//方法一reduce
		let getArrElement=arr=>{
			return arr.reduce((result,item)=>{
				if(item.length){
						result=result.concat(getArrElement(item))
				}else{
						result=result.concat(item)
					
				}
				return result

			},[])
		}
		let result=getArrElement(arr)
		console.log(result,"方法一reduce===========");
		//方法二 递归
		let newArray=[]
		let getArrElement2=arr=>{
			arr.forEach((item)=>{
				if(item.length){
					getArrElement2(item)
				}else{
					newArray.push(item)
					
				}

			})
		}
		getArrElement2(arr);
		console.log(newArray,"方法二 递归===========");
		//方法三 递归传值
		let getArrElement3=(arr,result)=>{
			arr.forEach((item)=>{
				if(item.length){
					return getArrElement3(item,result)
				}else{
					result.push(item)
					
				}

			})
			return result;
		}
		let result3=getArrElement3(arr,[])
		console.log(result,"方法三 递归传值===========");