ルーピングなしでこれを行う組み込みJS関数はありません。さらに、これを実装するライブラリは、それを行うためにループを使用します。
だから、あなたに短いユーティリティ関数を書いて、それをしたいときはいつもその関数を呼び出してください。ネイティブJSの機能ではないため、これを実装するためにどこかにループすることになります。ルーピングを「隠す」ためには、それをユーティリティ関数に入れ、必要なときに関数を呼び出すだけです。あなたがしたい場合は、1つのアレイが所定の位置に修正
// returns a new array that is the sum of the two vector arrays
function addVectors(a, b) {
return a.map(function(item, index) {
return item += b[index];
});
}
または、:
// add one vector to another, modifying the first one
function addToVector(a, b) {
a.forEach(function(item, index) {
a[index] += b[index];
});
return a;
}
または、未使用item
引数が何らかの理由であなたを気に場合:
// add one vector to another, modifying the first one
function addToVector(a, b) {
for (var i = 0; i < a.length; i++) {
a[i] += b[i];
}
return a;
}
注、これらの全て関数はa
とb
が同じ長さであると仮定します。彼らは同じ長さではなく、あなたがそれをチェックしたい場合は、動作をしたいものを指定する必要があります。あなたが例えば
...だけなど、共通の部品を追加し、例外をスローする可能性:
// returns a new array that is the sum of the two vector arrays
function addVectors(a, b) {
if (a.length !== b.length) {
throw new Error("Vector arrays must be the same length to add them");
}
return a.map(function(item, index) {
return item += b[index];
});
}
ループの問題は何ですか?単純なループで作業を行う場合、ライブラリはコードにオーバーヘッドを追加します。とにかく、ライブラリの "ショートカット"はいずれもフードの下でループを使用します。 – Andy
このpython機能が必要ですか?http://stackoverflow.com/questions/16568056/python-nested-list-comprehension-with-two-lists?私はそれが利用できないと思う:http://es6-features.org/。 – Sombriks
@Sombriksはい、これが私の意図です。 –