我有任务:编写函数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));
答案 0 :(得分:5)
使用Array#filter
创建一个新的负数数组:
var myArray = [4, -5, 0, 2, -67, 8, 10, -34 ];
var result = myArray.filter(function(number) {
return number < 0;
});
console.log(result);
&#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);