Вопрос:
У меня есть задача: Напишите функцию getNegativeNumbers (массив), которая в качестве аргумента принимает массив. Функция должна возвращать новый массив, заполненный только отрицательными числами.
Я сделал это решение, но я спрашиваю о разных методах.
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)); Лучший ответ:
Попробуйте следующее
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));
Для справки – фильтр
Ответ №1
Используйте Array#filter для создания нового массива отрицательных чисел:
var myArray = [4, -5, 0, 2, -67, 8, 10, -34 ]; var result = myArray.filter(function(number) { return number < 0; }); console.log(result);Ответ №2
Использовать Array.filter
var myArray = [4, -5, 0, 2, -67, 8, 10, -34 ]; var negatives = myArray.filter(e => e < 0); console.log(negatives);