编写一个函数,返回给定数组中的零个数

Write a function that returns the number of zeros in a given array?

本文关键字:数组 零个 一个 函数 返回      更新时间:2023-09-26

所以我必须写一个函数来计算数组中的零数

到目前为止,我只有

numberOfZeros= function(arry) {
    if(!(Object.prototype.toString.call(arry) === '[object Array]')){
        arry.toString();
    }
}

然后我被卡住了,甚至不确定我是否以的方式进行

但例如,在numberOfZeros([4,0,false,5,0])中,零的数量应该是2:

您需要为0的所有值.filter(),然后只读取结果的.length

return arry.filter(v => v === 0).length;

您可以尝试:

numberOfZeros = function (arry) {
    var c = 0;
    for (var k in arry) {
        if (arry[k] === 0 && arry[k] === parseInt(arry[k], 10)) {
            c += 1;
        }
    }
    return c;
}

您可以迭代元素并检查它们是否为零:

var n = 0;
for(var item of array)
  if(item === 0) // Both +0 and -0
    ++n;

一种可能的解决方案:

var numberOfZeros = function(arry) {
  var i = 0;
  arry.forEach(function(v) {
    if (v === 0) i++;
  });
  return i;
}
var count = numberOfZeros([4, 0, false, 5, 0]);
alert( count );

您可以使用这种方法,制作一个新数组,将主数组中的所有零推到新数组中,然后只获取新数组的.length


function numberOfZeros(array) {
    var zeros = [];
    for(var i = 0; i < array.length; i ++){
        if(array[i] === 0) {
            zeros.push(array[i]);
        }
    }
    console.log(zeros.length);
}
numberOfZeros([4, 0, false, 5, 0]);

JSFIDDLE-https://jsfiddle.net/ToreanJoel/3j2zpgnm/