How to find out that an array contains all zero (0) in Javascript

I have an array. I need to create a warning if all elements of the array are 0. For example,

if myArray = [0,0,0,0];
then alert('all zero');
else
alert('all are not zero');

Thank.

+3
source share
5 answers

You are looking for something like this:

var flag = 0;

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

if(flag) {
  alert('all are not zero');
} else {
  alert('all zero');
}

If you want a loopless solution based on broken @epascarello :

var arr  = [0,0,0,"",0],
    arrj = arr.join('');
if((/[^0]/).exec(arrj) || arr.length != arrj.length){
    alert('all are not zero');
} else {
    alert('all zero');
}

This will return "all zero" if the array contains only 0


Alternative way:

var arr = [0,0,0,0];
const isAllZero = !arr.some(el => el !== 0);
+8
source

Using ECMA5 every

Javascript

var array = [0, 0, 0, 0],
    allZeros;

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

allZeros = array.every(zeroTest);

console.log(allZeros);

array = [0, 0, 0, 1];

allZeros = array.every(zeroTest);

console.log(allZeros);

Output

true
false

On jsFiddle

+6
source

, reg .

var arr = [0,0,0,10,0];
if((/[^0]/).exec(arr.join(""))){
    console.log("non zero");
} else {
    console.log("I am full of zeros!");
}

, .

var arr = [0,0,0,0,10,0,0];
var temp = arr.slice(0).sort();
var isAllZeros = temp[0]===0 && temp[temp.length-1]===0;
+1

:

var arr = [0,0,0,0,0];
arr = arr.filter(function(n) {return n;});
if(arr.length>0) console.log('Non Zero');
else console.log("All Zero");
+1

2, 3 . . .

function ifAnyNonZero (array) {
  for(var i = 0; i < array.length; ++i) {
    if(array[i] !== 0) {
      return true;
    }
  }
  return false;
}
0

All Articles