Подтвердить что ты не робот

Как добавить элементы в массив в nodejs

Как выполнить итерацию через существующий массив и добавить элементы в новый массив.

var array = [];
forEach( calendars, function (item, index) {
    array[] = item.id
}, done );

function done(){
   console.log(array);
}

Вышеприведенный код обычно работает в JS, не уверен в альтернативе в node js. Я пробовал .push и .splice, но не работал.

4b9b3361

Ответ 1

Ознакомьтесь с Javascript Array API для получения подробной информации о точном синтаксисе методов Array. Изменение кода для использования правильного синтаксиса будет следующим:

var array = [];
calendars.forEach(function(item) {
    array.push(item.id);
});

console.log(array);

Вы также можете использовать метод map() для создания массива, заполненного результатами вызова указанной функции для каждого элемента. Что-то вроде:

var array = calendars.map(function(item) {
    return item.id;
});

console.log(array);

И, поскольку ECMAScript 2015 был выпущен, вы можете начать просмотр примеров с использованием let или const вместо var и синтаксиса => для создания функций. Следующий пример эквивалентен предыдущему примеру (за исключением того, что он не может поддерживаться в старых версиях node):

let array = calendars.map(item => item.id);
console.log(array);

Ответ 2

Вот пример, который может дать вам некоторые подсказки для итерации через существующий массив и добавления элементов в новый массив. Я использую UnderscoreJS Module для использования в качестве файла моей утилиты.

Вы можете скачать с (https://npmjs.org/package/underscore)

$ npm install underscore

Вот небольшой фрагмент, демонстрирующий, как вы можете это сделать.

var _ = require("underscore");
var calendars = [1, "String", {}, 1.1, true],
    newArray = [];

_.each(calendars, function (item, index) {
    newArray.push(item);
});

console.log(newArray);

Ответ 3

var array = [];

//length array now = 0
array[array.length] = 'hello';
//length array now = 1
//            0
//array = ['hello'];//length = 1