Mar*_*leg 3 javascript arrays algorithm loops boolean
我正在 freeCodeCamp 学习,目前正在学习基础算法。我正在做虚假保镖练习,您需要从数组中删除所有虚假值。遗憾的是,该任务只有高级答案,即使用 filter() 方法。我决定做一个基本的,但目前卡住了。
function bouncer(arr) {
//*loops through array*
for (let i = 0; i < arr.length; i++) {
// *if there is a value that is falsy, delete that value from the array*
if (arr[i] == 0 || arr[i] == NaN || arr[i] == null || arr[i] == false || arr[i] == "" || arr[i] == undefined) {
delete arr[i];
}
}
return arr;
}
console.log(bouncer([7, "ate", "", false, 9]));
Run Code Online (Sandbox Code Playgroud)
它返回:
7、吃了、、、9。
该函数确实删除了虚假值,但我留下了这三个句点(,,,)。有没有办法让这个函数更正确地工作并返回没有这些句点的真值,同时又不失去函数的简单性?感谢你的帮助。
delete只适用于物体。filter会做你想做的事:
const arr = [7, "ate", "", false, 9]
console.log(arr.filter(x => x))
Run Code Online (Sandbox Code Playgroud)
filter仅保留数组中函数返回 true 的元素 - 此处我使用它是x => x因为您只需要 true 元素
| 归档时间: |
|
| 查看次数: |
623 次 |
| 最近记录: |