🍪🧁🍧

手写flat

arr.flat(depth) @parame depth — The maximum recursion depth默认1

  • ES5
function flatten(arr){
	let n=arr.length
	let result=[]
	for(let i=0;i<n;i++){
		if(Array.isArray(arr[i])){
			result=result.concat(flatten(arr[i]))
		}else{
			result.push(arr[i])
		}
	}
	return result
}
  • ES6
function flatten(arr) {
    while (arr.some(item => Array.isArray(item))) {
        arr = [].concat(...arr);//展开一层
    }
    return arr;
}
posted @ 2025-03-17 00:32  不想吃fun  阅读(6)  评论(0)    收藏  举报