2017-03-24 2 views
-1

を繰り返します。これを変数宣言に組み合わせようとしました。Mapは各要素の複数の配列要素を返します。空の配列にプッシュするのではなく、

var blah = [1,2,3].map(function(x){ 
    return (x+'a'),(x+'b'),(x+'c') 
}); 

//outcome => ['1a', '1b', '1c', '2a', '2b', '2c', '3a', '3b', '3c'] 
+0

あなたは、あなたの質問について、より具体的なことはできますか? – Jesper

+0

マップ関数は機能しません。関数は常に同じ長さの配列を返さなければなりません。 –

+0

答えにいくつかの矛盾があるので、正確に何を期待しているかを明記してください。 –

答えて

3

Array#reduceを使用してアイテムを結び付けることができます。

var result = [1, 2, 3].reduce(function(r, a) { 
 
     return r.concat(['a', 'b', 'c'].map(function (b) { 
 
      return a + b; 
 
     })); 
 
    }, []); 
 

 
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

+0

これは非常に賢いです、ありがとう。私はそうする簡単な方法はないと思います。 –

関連する問題