Как добавить элементы в массив в nodejs
Как выполнить итерацию через существующий массив и добавить элементы в новый массив.
var array = [];
forEach( calendars, function (item, index) {
array[] = item.id
}, done );
function done(){
console.log(array);
}
Вышеприведенный код обычно работает в JS, не уверен в альтернативе в node js
. Я пробовал .push
и .splice
, но не работал.
Ответы
Ответ 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