如何遍历现有数组并将项目添加到新数组。
var array = [];
forEach( calendars, function (item, index) {
array[] = item.id
}, done );
function done(){
console.log(array);
}
上面的代码通常可以在 JS 中运行,不确定node js
. 我试过了.push
,.splice
但都没有奏效。
如何遍历现有数组并将项目添加到新数组。
var array = [];
forEach( calendars, function (item, index) {
array[] = item.id
}, done );
function done(){
console.log(array);
}
上面的代码通常可以在 JS 中运行,不确定node js
. 我试过了.push
,.splice
但都没有奏效。
查看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
orconst
代替的示例var
以及=>
用于创建函数的语法。以下与前面的示例等效(但在较旧的节点版本中可能不支持它):
let array = calendars.map(item => item.id);
console.log(array);
这是一个示例,它可以为您提供一些提示以迭代现有数组并将项目添加到新数组。我使用 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);
var array = [];
//length array now = 0
array[array.length] = 'hello';
//length array now = 1
// 0
//array = ['hello'];//length = 1
var array = calendars.map(function(item) {
return item.id;
});
console.log(array);