Javascript Функция и массив const - PullRequest
0 голосов
/ 02 мая 2020

У меня проблема с упражнением:

const negativeNumbers = [];
function extractNegativeNumbers(numbers) {
    if (numbers<0){
        console.log("It's negative number")
    } else {
        console.log("It's not negative number")
    }
}

Я не знаю, как добавить результат моей функции в массив const. Какой оператор я должен использовать для этого?

Ответы [ 4 ]

5 голосов
/ 02 мая 2020

Вы должны использовать Array.prototype.push

Редактировать : Если ваш параметр numbers является массивом, а не одним значением, используйте следующую команду для проверки каждый элемент и добавьте его:

const negativeNumbers = [];
function extractNegativeNumbers(numbers) {
    numbers.forEach(num => {
        if (num < 0) {
            console.log("It's negative number");
            negativeNumbers.push(num);
        } else console.log("It's not negative number");
    });
}

В этом случае вы не используете оператор, вместо этого вы используете встроенную функцию pu sh, которая принадлежит объекту Array.

Некоторые другие упоминали, что вместо этого использовали let или var, но ни один из них не является необходимым, поскольку объекты массива являются изменяемыми. Это означает, что обновление элементов массива на самом деле не меняет значение переменной, поскольку переменная по-прежнему установлена ​​на один и тот же объект массива (независимо от того, что содержит массив). В этом случае все, что делает добавление ключевого слова const, не позволяет переназначить переменную negativeNumbers другому значению

1 голос
/ 02 мая 2020

Ваша функция не имеет смысла. Если он должен получить массив с именем numbers и добавить его к вашему константному массиву, то он должен быть следующим:

function extractNegativeNumbers(numbers) {
    for (let num of numbers)
        if (num < 0)
            negativeNumbers.push(num);
}

Обратите внимание, что даже если ваш массив постоянен, его элементы можно изменить. const не позволяет вам переназначать значения для вашей переменной, но не добавляет элементы в ваш массив. Также, если negativeNumbers.push(num); вам не по вкусу, вы можете использовать negativeNumbers[negativeNumbers.length] = num;.

0 голосов
/ 02 мая 2020

Вот пример того, как это сделать

const numbers = [13, 3, -4, 78, -14, 12, -8],
  negativeNumbers = numbers.filter(n => n < 0);

console.log(negativeNumbers);
0 голосов
/ 02 мая 2020

Объявите массив, используя let, поскольку const используется для объявления констант.

let negativeNumbers = [];

Вы можете использовать функцию pu sh для добавления элементов.

negativeNumbers.push(number +' is a negative number');

Для дальнейшего использования: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...