[Easy] 手写 compact
2024年1月28日
💎 加入 E+ 成長計畫 與超過 500+ 位軟體工程師一同在社群中成長,並且獲得更多的軟體工程學習資源
题目描述
Lodash 的 compact
是开发中经常被用的效用函式,也经常会在面试被问到。 compact
能将输入的数组中的 false、null、0、空字串、undefined 和 NaN 都去除,并输出一个新的数组。
compact([0, 1, false, 2, "", 3, "hello"]); // [1, 2, 3, 'hello']
compact([null, undefined, NaN, " "]); // [' ']
compact([{ name: "Alice" }, null, { age: 30 }, undefined]); // [{ name: 'Alice' }, { age: 30 }]
本题解答
以下是本题的解答,详细解题思路可以在 E+ 成长计划看到。如果想练习更多题目,推荐可以到 GreatFrontEnd 上练习。
解法一
function compact(array) {
const result = [];
for (const value of array) {
if (value) {
result.push(value);
}
}
return result;
}
解法二
function compact(array) {
return array.filter(Boolean);
}