2013-09-29 22 views
32

既存の配列を反復処理し、新しい配列に項目を追加するにはどうすればよいですか?nodejsの配列に項目を追加する方法

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

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

上記のコードは通常JSで動作しますが、代替についてはわからないnode jsです。私は.push.spliceを試しましたが、どちらもうまくいきませんでした。

+4

あなたのコードで間違ったことがたくさんあります。それはあなたがそれを働かせるために非常に懸命に試していないことを意味します!たとえば、 'array [] = item.id'で何が起こっていますか?これは、通常のjsで構文エラーを生成します。 – starwed

答えて

8

これは、既存の配列を繰り返し処理し、新しい配列に項目を追加するヒントを与える例です。 UnderscoreJS Moduleを使用してユーティリティファイルとして使用します。

あなたはここにあなたがそれを行うことができますどのように実証するために、小さなスニペットがある(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); 
81

アレイメソッドの正確な構文の詳細については、Javascript's Array APIを参照してください。正しい構文を使用するようにコードを変更すると、次のようになります。

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

console.log(array); 

ます。また、各要素に対して指定された関数を呼び出した結果で満たされた配列を生成するmap()メソッドを使用することができます。何かのように:ECMAScriptの2015がリリースされましたので、

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

console.log(array); 

そして、あなたはletまたはその代わりvarconstと機能を作成するための=>構文を使用しての例を見始めることがあります。 (それは、古いノードのバージョンではサポートされない場合があります除く)以下は、前の例と同等です:

let array = calendars.map(item => item.id); 
console.log(array); 
0
var array = []; 

//length array now = 0 
array[array.length] = 'hello'; 
//length array now = 1 
//   0 
//array = ['hello'];//length = 1 
関連する問題