Javascript 如何在nodejs中向数组添加项
如何遍历现有数组并将项添加到新数组中Javascript 如何在nodejs中向数组添加项,javascript,node.js,Javascript,Node.js,如何遍历现有数组并将项添加到新数组中 var array = []; forEach( calendars, function (item, index) { array[] = item.id }, done ); function done(){ console.log(array); } 上述代码通常在JS中工作,但不确定节点JS中的替代方案。我尝试了.push和.splice,但都没有成功。下面的示例可以给您一些提示,让您遍历现有数组并将项添加到新数组中。我使用下划线J
var array = [];
forEach( calendars, function (item, index) {
array[] = item.id
}, done );
function done(){
console.log(array);
}
上述代码通常在JS中工作,但不确定
节点JS中的替代方案。我尝试了.push
和.splice
,但都没有成功。下面的示例可以给您一些提示,让您遍历现有数组并将项添加到新数组中。我使用下划线JS模块作为我的实用程序文件
您可以从()下载
下面是一个小片段来演示如何做到这一点
var _ = require("underscore");
var calendars = [1, "String", {}, 1.1, true],
newArray = [];
_.each(calendars, function (item, index) {
newArray.push(item);
});
console.log(newArray);
查看有关数组方法的确切语法的详细信息。修改代码以使用正确的语法将是:
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
的示例,以及用于创建函数的=>
语法。以下内容与上一个示例等效(但旧版本的节点可能不支持):
你的代码有很多错误的地方;这意味着你没有尽力让它工作!例如,array[]=item.id
发生了什么?这将在普通js中产生语法错误。
var array = calendars.map(function(item) {
return item.id;
});
console.log(array);
let array = calendars.map(item => item.id);
console.log(array);
var array = [];
//length array now = 0
array[array.length] = 'hello';
//length array now = 1
// 0
//array = ['hello'];//length = 1