如果给定数组包含一个或多个负int,则返回False。否则返回True

时间:2018-01-09 00:29:03

标签: javascript

function zero_negativity(arr){

for (var i = 0; i < arr.length; i++){

    if (arr[i] < 0){
        console.log("False");
        break
    }
    else {
        console.log("True");
    }
}

};

zero_negativity([1,2,3,4,5]);

如果没有一个负数,我希望它返回true。

3 个答案:

答案 0 :(得分:2)

您需要将数组作为参数传递。

zero_negativity(arr);

答案 1 :(得分:1)

您必须使用参数 arr 调用函数 zero_negativity 。您的代码可以简化:

arr = [1,2,3,4,5];

function zero_negativity(arr){
    for (var i = 0; i < arr.length; i++)
      return arr[i] >= 0;
}

var result = zero_negativity(arr);
console.log(result);

但是,我认为,你的功能看起来应该是这样的:

function zero_negativity(arr){
  for (var i = 0; i < arr.length; i++)
    if (arr[i] < 0)
      return false;

  return true;
}

console.log(zero_negativity([1,2,3,4,5])); // true
console.log(zero_negativity([1,2,0,8,0])); // true
console.log(zero_negativity([1,2,3,-4,5])); // false
console.log(zero_negativity([-4,-6,-2])); // false

答案 2 :(得分:0)

您没有将数组传递给函数 - 您需要将其更改为zero_negativity(arr) - 也就是说,我已经为结果提供了另一种解决方案。只需获取数组的最小数量并检查它是否小于0.当然,这假设传递的数组包含数字 - 如果不是,则需要将数组项解析为数字。

let arr = [1,2,3,4,5];
let arr1 = [1,2,3,-4,5];

function zero_negativity(array){
  let minNum = Math.min(...array);
  return minNum < 0 
}

console.log(zero_negativity(arr)); // console logs false
console.log(zero_negativity(arr1)); // console logs true