gpt4 book ai didi

javascript - 从数组中删除未定义的值

转载 作者:行者123 更新时间:2023-12-02 22:52:57 33 4
gpt4 key购买 nike

在某些情况下,数组结构中可能会出现未定义或通常值。例如,从某些未知来源(例如数据库或 HTML 结构)读取和填充数据时。喜欢

var data = [42, 21, undefined, 50, 40, undefined, 9]

由于在循环此类数组并处理元素时可能会导致麻烦,因此删除 undefined (虚假值)的最佳实践是什么?

最佳答案

在这里使用Array.prototype.filter可能是显而易见的。因此,要仅删除未定义的值,我们可以调用

var data = [42, 21, undefined, 50, 40, undefined, 9];

data = data.filter(function( element ) {
return element !== undefined;
});

如果我们想过滤掉所有虚假值(例如 0 或 null),我们可以使用 return !!element; 来代替。

但是我们可以做得更优雅一点,只需将 Boolean 构造函数和 Number 构造函数分别传递给 .filter:

data = data.filter( Number );

在这种情况下,这可以完成工作,通常删除任何虚假值,我们会调用

data = data.filter( Boolean );
<小时/>

由于 Boolean() 构造函数对 true 值返回 true,对任何 falsy 值返回 false 值,这是一个非常巧妙的选择。

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

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