如何在nodejs中向项目添加项目

时间:2013-09-29 23:41:07

标签: javascript node.js

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

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

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

以上代码通常可以在JS中使用,不确定node js中的替代方法。我尝试了.push.splice,但都没有效果。

3 个答案:

答案 0 :(得分:104)

查看Javascript's 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发布以来,您可能会开始使用letconst代替var=>语法来创建函数。以下内容与前一个示例等效(旧版节点版本可能不支持):

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

答案 1 :(得分:9)

这是一个示例,可以为您提供一些提示来迭代现有数组并将项添加到新数组。我使用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);

答案 2 :(得分:2)

<?php
    //Sample Variables
    $youtubeURL = 'www.youtube.com/watch?v=vidID';
    $vimeoURL = 'https://vimeo.com/vidID';

    //Test Values
    $vidURL = $youtubeURL;
    $videoSource = 'youtube';

    //Select Delimiter based on the video source
    switch ($videoSource) {
        case 'youtube':
            $delimiter = '=';
            break;
        case 'vimeo':
            $delimiter = '/';
            break;
        default:
            //Whatever fallback you want
    }

    //Isolate the vidID value string
    $vidID = end(explode($delimiter, $vidURL));
?>