我怎么知道数组包含Javascript中的所有零(0)

Nov*_*vis 6 javascript arrays

我有一个阵列.如果所有数组项都为0,我需要生成警报.例如,

if myArray = [0,0,0,0];
then alert('all zero');
else
alert('all are not zero');
Run Code Online (Sandbox Code Playgroud)

谢谢.

Fez*_*sta 11

你正在寻找这样的东西:

const arr = [0,0,0,0];
const isAllZero = arr.every(item => item === 0);
Run Code Online (Sandbox Code Playgroud)

如果你想要一个非循环解决方案,基于@epascarello中没有工作的解决方案:

const arr = [0,0,0,0];
const someIsNotZero = arr.some(item => item !== 0);
const isAllZero = !someIsNotZero; // <= this is your result
Run Code Online (Sandbox Code Playgroud)

如果数组仅包含,则返回"全零" Array.prototype.every


另一种方法是:

var isAllZero = true;

for(i = 0; i < myArray.length; ++i) {
  if(myArray[i] !== 0) {
    isAllZero = false;
    break;
  }
}

// `isAllZero` contains your result
Run Code Online (Sandbox Code Playgroud)

  • `+ 1`,虽然我会使用`false`和`true`而不是'0`和`1`,但这可能只是一个意见问题. (3认同)

Xot*_*750 9

使用ECMA5 every

function zeroTest(element) {
  return element === 0;
}

var array = [0, 0, 0, 0];
var allZeros = array.every(zeroTest);

console.log(allZeros);

array = [0, 0, 0, 1];
allZeros = array.every(zeroTest);

console.log(allZeros);
Run Code Online (Sandbox Code Playgroud)