检查哪些数组元素具有null值

时间:2017-08-02 21:17:11

标签: javascript html angularjs arrays

我有以下数组。

var arrayNames = [ null, 'data', null];

我想检查数组中的哪个位置为null。对于前面的例子,数组元素[0]和[2]为空,

所以在输出中,我需要1,2分配给变量' nullValues' 有人可以让我知道如何实现这一目标。可能很简单,我愚蠢到不能得到它。任何帮助表示赞赏。谢谢。

3 个答案:

答案 0 :(得分:1)

您可以使用Array#reduce仅获取null值的元素索引。

let arrayNames = [null, 'data', null];

let nullValues = arrayNames.reduce((s, a, i) => {
  if (a == null) {
    s.push(i);
  }
  return s;
}, []);

console.log(nullValues);

答案 1 :(得分:1)

只需将评论替换为您想要对null执行的任何操作。

for (int i = 0; i < arrayNames.length; i++) {
    if (arrayNames[i] === null) {
        // Do stuff for index i
    }
}

答案 2 :(得分:0)

var arrayNames = [ null, 'data', null];
var nullValues = []
arrayNames.forEach(function(item, index) {
  if (item === null) {
    nullValues.push(index);
  }
});

console.log(nullValues) // [0, 2]

这假设您定位了具有Array.forEach()访问权限的浏览器。如果你没有,那么

var arrayNames = [ null, 'data', null];
var nullValues = []
for (var i = 0; i < arrayNames.length; i++) {
  if (arrayNames[i] === null) {
    nullValues.push(i);
  }
};

console.log(nullValues) // [0, 2]