如何在Node.js中向数组添加项目


76

如何遍历现有数组并将项目添加到新数组。

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

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

上面的代码通常可以在JS中使用,不确定是否可以使用node js。我尝试过.push.splice但都没有工作。


5
您的代码有很多错误的地方;这意味着您并没有非常努力地使其工作!例如,发生了什么事array[] = item.id?这将在普通js中产生语法错误。
2013年

Answers:


145

请查看Javascript的Array API,以获取有关Array方法的确切语法的详细信息。修改代码以使用正确的语法是:

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

console.log(array);

您还可以使用该map()方法来生成一个Array,其中填充有在每个元素上调用指定函数的结果。就像是:

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

console.log(array);

并且,由于ECMAScript 2015已发布,您可能开始看到使用letconst代替示例var以及=>用于创建函数的语法。以下等效于先前的示例(但较旧的节点版本可能不支持):

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

10

这是示例,可以为您提供一些提示,以循环访问现有数组并将项目添加到新数组。我使用UnderscoreJS模块作为实用程序文件。

您可以从(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);

5
var array = [];

//length array now = 0
array[array.length] = 'hello';
//length array now = 1
//            0
//array = ['hello'];//length = 1
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.