JavaScript - 只从数组中获取负数

时间:2017-07-06 13:23:36

标签: javascript arrays

我有任务:编写函数getNegativeNumbers(array)作为参数获取数组。该函数必须返回一个新的数组,只填充负数。

我已经完成了这个解决方案,但我问了不同的方法。

var myArray = [4, -5, 0, 2, -67, 8, 10, -34 ];

function getNegativeNumbers(array) {

    var negatives = [];

    for (var i = 0; i < array.length; i++) {
        if (array[i] < 0) {
            negatives.push(array[i]);
        }
    }
    return negatives;

}
console.log(getNegativeNumbers(myArray));

3 个答案:

答案 0 :(得分:5)

使用Array#filter创建一个新的负数数组:

&#13;
&#13;
var myArray = [4, -5, 0, 2, -67, 8, 10, -34 ];

var result = myArray.filter(function(number) {
  return number < 0;
});

console.log(result);
&#13;
&#13;
&#13;

答案 1 :(得分:2)

尝试以下

var myArray = [4, -5, 0, 2, -67, 8, 10, -34];

function getNegativeNumbers(array) {
  return array.filter(function(value) {
    return value < 0;
  });
}
console.log(getNegativeNumbers(myArray));

ES6

var myArray = [4, -5, 0, 2, -67, 8, 10, -34];

function getNegativeNumbers(array) {
  return array.filter(value => value < 0);
}
console.log(getNegativeNumbers(myArray));

供参考 - filter

答案 2 :(得分:2)

使用Array.filter

var myArray = [4, -5, 0, 2, -67, 8, 10, -34 ];

var negatives = myArray.filter(e => e < 0);

console.log(negatives);