【问题标题】:How to add items to array in nodejs如何在nodejs中将项目添加到数组中
【发布时间】:2013-10-05 17:55:15
【问题描述】:

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

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

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

上面的代码通常可以在 JS 中运行,不确定node js 中的替代方案。我尝试了.push.splice,但都没有成功。

【问题讨论】:

  • 你的代码有很多错误的地方;这意味着您还没有非常努力地让它工作!例如,array[] = item.id 发生了什么?这会在普通 js 中产生语法错误。

标签: javascript node.js


【解决方案1】:

查看Javascript's 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);

【讨论】:

    【解决方案2】:

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

    您可以从 (https://npmjs.org/package/underscore) 下载

    $ npm install underscore
    

    这里有一个小 sn-p 来演示如何做到这一点。

    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
      

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-11-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-07-01
          • 2022-12-03
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多