如何为数组中的特定数字值返回true或false?

时间:2019-04-13 18:43:38

标签: javascript

一个数组具有多个数字值,我需要在中间找到一个零值以返回true。

对于我的输出,我得到:

false '<-- should be false'
false '<-- should be true'

并且无法弄清楚为什么true不会返回true。

我也尝试过

if (numbers === 1 && numbers  === 2 && numbers  === 3) {
    doesArrayContainZero = false;
} else if (numbers === 1 && numbers  === 0 && numbers  === 2) {
    doesArrayContainZero = true;
}

认为我可能需要更具体地说明每个数字,但不是那样。

下面是我当前答案的问题。我不知道为什么它不正确。

function doesArrayContainZero(numbers) {
     if (numbers = [1,2,3]) { return false;} 
     else if (numbers = [1,0,2]) { 
     return true;
     }
}

/* Do not modify code below this line */
console.log(doesArrayContainZero([1, 2, 3]), '<-- should be false');
console.log(doesArrayContainZero([1, 0, 2]), '<-- should be true');

2 个答案:

答案 0 :(得分:0)

您可以使用“包含”,也可以使用与旧版浏览器兼容的“ indexOf”。

var without0 = [1, 2, 3];
var with0 = [1, 0, 2];

function doesArrayContainZero(numbers) {
   return numbers.indexOf(0) !== -1;
}

console.log(doesArrayContainZero(without0));
console.log(doesArrayContainZero(with0));

答案 1 :(得分:0)

非常简单的解决方案,包括使用es6函数。 https://developer.mozilla.org/pl/docs/Web/JavaScript/Referencje/Obiekty/Array/includes

num==3