let data = [1, 2, [null, 'abc', {}]]; //1、面试的时候写的,res在函数外,使用push方法的正确做法: let res = []; function flatten(data) { for (let item of data) { if (Array.isArray(item)) { flatten(item); //面试时写的是 res.push(flatten(item))导后面重复push } else { res.push(item) } } return res; } console.log(flatten(data))