重複の可能性:
基本的なアレイ構築への機能的アプローチ
私はjsを初めて使用します。どちらが正しいアプローチか知りたいだけです。以下にコードを投稿しました。
var doubles = (i*20 for (i in it));
var doubles ={i*20 for (i in it)};
ありがとう
重複の可能性:
基本的なアレイ構築への機能的アプローチ
私はjsを初めて使用します。どちらが正しいアプローチか知りたいだけです。以下にコードを投稿しました。
var doubles = (i*20 for (i in it));
var doubles ={i*20 for (i in it)};
ありがとう
配列を反復処理するときは、通常のforループを使用する必要があります。for ... inは、オブジェクトのプロパティを反復処理するために使用されます。
したがって、正しい方法は次のとおりです。
for (var i = 0; i < array.length; ++i) {
// do something
}
オブジェクトのプロパティを反復処理するには:
for (var prop in obj) {
// do something with prop
}
が配列であると仮定するit
と、次を使用できます.map()
。
var doubles = it.map(function(i){ return i*20; });
また、JavaScriptでリスト/配列内包表記を作成する方法も確認することをお勧めします。
Mozillaのジェネレータ式(it
既存のIterator
)を使用する場合は、角かっこを使用する必要があります。
var twentyfolds = [i*20 for (i in it)];
将来の参考のために、ECMAScript 6(別名Harmony)は、オブジェクト(配列を含む)を反復処理する新しい正気の方法を導入する可能性が最も高いです:
for(var x of array) {
// do something with x
}
var arr = [1, 2, 3];
console.log([i*20 for (i of arr)])
これらのオプションは両方とも構文エラーです。'it'がリストの場合、forループまたはforEachメソッドを使用してリストを反復処理できます。ただし、あなたの場合は、実際にmapメソッドを探しているようです。
var doubles = it.map(function (i) { return i * 20; });