現在、2つのアレイがあります
array1 = [5, 10, 20]
array2 = [10, 20, 30]
array3 または次のようなもの:
array4 = [{"a":5, "b":10}, {"a":10, "b":20}, {"a":20, "b":30}]
これはおそらく簡単な質問だと思いますが、どの array3 が呼び出されるのかさえわからないので、これをグーグルで検索するのは難しいです。
現在、2つのアレイがあります
array1 = [5, 10, 20]
array2 = [10, 20, 30]
array3 または次のようなもの:
array4 = [{"a":5, "b":10}, {"a":10, "b":20}, {"a":20, "b":30}]
これはおそらく簡単な質問だと思いますが、どの array3 が呼び出されるのかさえわからないので、これをグーグルで検索するのは難しいです。
非常に単純です。最初に結果配列を作成し、次に最初の配列を反復処理して要素を追加します。これが実用的なフィドルです。
あなたのコードに{5,10}
は、JavaScriptでは違法であるような表記法があることに注意してください。私はあなたが配列を意味すると仮定しました。
var result = [];
for(var i=0;i<array1.length;i++){
result.push([array1[i],array2[i]]);
}
編集後に更新します。オブジェクトが必要なようです。試してみてください
var result = [];
for(var i=0;i<array1.length;i++){
result.push({a:array1[i],b:array2[i]});//add object literal
}
map
必要に応じて、同じコードを機能的に使用および記述することもできます。これがその種の実装のフィドルです
これはzip
...
function zip() {
var args = [].slice.call(arguments);
var shortest = args.length==0 ? [] : args.reduce(function(a,b){
return a.length<b.length ? a : b
});
return shortest.map(function(_,i){
return args.map(function(array){return array[i]})
});
}
これらのユーティリティ関数の多くを備えた素晴らしいjsライブラリをアンダースコアにチェックしてください...