javascript - 检测数组中是否只有空值

标签 javascript

<分区>

我有一个数组,如果该数组仅包含 null 值,我想要一个简单的非循环测试。空数组也算作只有空值。

我想另一种描述问题的方法是测试数组是否至少有一个非空值。

所以:

Good: [ null, null, null ]
Good: []
Bad:  [ null, 3, null ]

最佳答案

您可以通过使用 Array#every 来避免使用显式 循环:

var all_null = arr.every(function(v) { return v === null; });

但当然在内部引擎仍然会遍历数组。显式遍历数组实际上可能更快。重要的是当您遇到一个不是 null 的元素时,break 跳出循环(该方法就是这样做的)。

并非所有浏览器都支持此方法,请参阅 polyfill 链接。

关于javascript - 检测数组中是否只有空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19337761/

相关文章:

javascript - 即使使用 ng-cloak, Angular 日期过滤器也显示未定义/NaN

javascript - 尝试使用 AJAX 将变量值从 JavaScript 传递到 PHP

javascript - 勾选复选框然后提交然后弹出窗口

javascript - 在 Vue 中使用 lodash throttle 时传递这个

Javascript:10秒后调用函数,然后每1分钟调用一次

javascript - setInterval 单击时重置

javascript - 错误 : [ngRepeat:dupes] Duplicates in a repeater are not allowed

javascript - JQuery 与 Angular 实现数百个值 slider

javascript - 在进度条上显示进度百分比

javascript - 在什么情况下Javascript在IE8中的性能会比IE7差?