Skip to content

JS 实现数组拍平

js
// 拍平数组

function myFlat(arr, depth = 1){
	// 结束递归
	if(depth < 1){
		return arr;
	}
	let res = [];
	arr.forEach(element => {
		if(Array.isArray(element)){
			// 如果元素是数组
			res = res.concat(myFlat(element, depth - 1)); // 递归
		}else{
			res.push(element);
		}
	});
	return res;
}

let nums = [1,2,[3,4,[6, 7]],5];
console.log(myFlat(nums, 2));