gpt4 book ai didi

javascript - 从数组中删除虚假值

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:28:08 26 4
gpt4 key购买 nike

我在 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]));

它返回:

7,ate,,,9.

该函数确实删除了虚假值,但我只剩下那三个句点 (,,,)。有没有办法让这个函数更正确地工作并在没有这些句点的情况下返回真值,同时又不失函数的简单性?感谢你的帮助。

最佳答案

delete 仅适用于对象。 filter 将执行您想要的操作:

const arr = [7, "ate", "", false, 9]

console.log(arr.filter(x => x))

filter 只保留数组中函数返回 true 的那些元素 - 这里我使用 x => x 因为你只需要 truthy 元素

关于javascript - 从数组中删除虚假值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53917474/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com