2016-08-15 4 views
0

私はこのコードを持っています。このコードは数字のペアを追加して新しい番号を印刷することになっています。改行で区切られた数字のリストを改行して行にする

var a = [580563, 750269, 127553, 478126, 490797, 919298, 440977, 549169, 935253, 48340, 605950, 859831, 26818, 336881, 438690]; 
var b = [498030, 704160, 346646, 544826, 898396, 192725, 382888, 590117, 172659, 534225, 592230, 235547, 502236, 327531, 405165]; 

for (var i = 0; i < a.length; i++) { 
    var k = a[i] + b[i]; 
    console.log(k); 
} 

これは、この返します

1078593 1454429 474199 1022952 1389193 1112023 823865 1139286 1107912 582565 1198180 1095378 529054 664412 843855 

ありがとう:私はこれにそれを回すにはどうすればよい

1078593 
1454429 
474199 
1022952 
1389193 
1112023 
823865 
1139286 
1107912 
582565 
1198180 
1095378 
529054 
664412 
843855 

を!

+0

あなたはjs自体を編集したいのですが、そのような別のjsファイルは上記の出力をファイルから読み込み、必要な変換を行う必要がありますか? – Iceman

答えて

4

各インデックスの出力をログに記録する代わりに、文字列を連結してループの後に出力を処理します。

var a = [580563, 750269, 127553, 478126, 490797, 919298, 440977, 549169, 935253, 48340, 605950, 859831, 26818, 336881, 438690]; 
var b = [498030, 704160, 346646, 544826, 898396, 192725, 382888, 590117, 172659, 534225, 592230, 235547, 502236, 327531, 405165]; 

var k = ''; 
for (var i = 0; i < a.length; i++) { 
    k += (a[i] + b[i]) + ' '; 
} 
console.log(k); 

あなたはまた、アレイ内の各合計を追跡して、スペースを持つ要素を結合することができます。

var k = []; 
for (var i = 0; i < a.length; i++) { 
    k.push(a[i] + b[i]); 
} 
console.log(k.join(' ')); 

とユーザーArnauldが述べたように、これはでワンライナーに減少させることができますmap機能を使用します。ここで

+0

それは完璧に働いた、ありがとう! –

2

.map().join()を使用して、ES6ソリューションです:

var a = [580563, 750269, 127553, 478126, 490797, 919298, 440977, 549169, 935253, 48340, 605950, 859831, 26818, 336881, 438690]; 
 
var b = [498030, 704160, 346646, 544826, 898396, 192725, 382888, 590117, 172659, 534225, 592230, 235547, 502236, 327531, 405165]; 
 

 
console.log(a.map((v, i) => v + b[i]).join(' '));

やブラウザが矢印の機能をサポートしていないために:

var a = [580563, 750269, 127553, 478126, 490797, 919298, 440977, 549169, 935253, 48340, 605950, 859831, 26818, 336881, 438690]; 
 
var b = [498030, 704160, 346646, 544826, 898396, 192725, 382888, 590117, 172659, 534225, 592230, 235547, 502236, 327531, 405165]; 
 

 
console.log(a.map(function(v, i) { return v + b[i] }).join(' '));

ECMAScriptの6+を使用して
+0

ああ、それはとてもきれいなソリューションです、追加してくれてありがとう! –

1

、あなたは、これはすべての主要なブラウザではまだサポートされていないことspread operator ...

var a = [580563, 750269, 127553, 478126, 490797, 919298, 440977, 549169, 935253, 48340, 605950, 859831, 26818, 336881, 438690]; 
 
var b = [498030, 704160, 346646, 544826, 898396, 192725, 382888, 590117, 172659, 534225, 592230, 235547, 502236, 327531, 405165]; 
 

 
console.log(...a.map((_, i) => a[i] + b[i]));

注意を使用することができます。 current compatibilityを参照してください。

関連する問題