Googleシートのスクリプトエディタを使用してテーブル/配列の値を操作しています。私はこのようになりますテーブルを持っている:配列配列を合計し、結果を二次元配列(JavaScript)に格納する
| UserA | UserB | UserC |
Movie1 | 2 | 8 | 6 |
Movie2 | 4 | 6 | 0 |
Movie3 | 5 | 2 | 3 |
Movie4 | 2 | 7 | 2 |
私はそれぞれの和の結果を別の配列を取得し、最初のユーザの格付けを持つすべてのユーザーの評価を合計する必要があります。この場合
、結果は次のようになります。
| UserA+A | UserB+A | UserC+A |
Movie1 | 4 | 10 | 8 |
Movie2 | 8 | 10 | 4 |
Movie3 | 10 | 7 | 8 |
Movie4 | 4 | 9 | 4 |
私はループ「を」2ですべての列と行を実行しているんだけど、私は戻って二次元に結果を格納するために管理することはできませんアレイ。
var userRatings = [];
var mainUserRatings = [];
var ultraArray = [];
for (i = 0; i < database.length; i++) { // Run through all movies (rows)
var mainUserRating = database[i][1]; // Ratings from UserA
mainUserRatings.push(mainUserRating);
for (n = 1; n < database[0].length; n++) { // Run through all users (columns)
var userRating = database[i][n]; // Ratings from User "n"
userRatings[i] = userRating;
}
ultraArray[i] = userRatings;
}
return ultraArray;
この関数は、最初のテーブルと同じ数の行と列を持つ配列を返します(彼らだけが切り替わっている)とだけ最後の列からのデータは、すべてを繰り返される:これは私が持っているものです行。つまり、それは災害です。そして、私は最初の列でデータを合計するところに達していません...
私は新しい配列にデータをプッシュしている方法について何か間違っています。ループの論理ですが、私は正しい組み合わせを見つけることができません。どんな助けでも大歓迎です。
:
擬似コードは次のように見えるかもしれません!名前のついた列/行をスキップするためにすべてのゼロを置き換えるだけでした。残りは正しい結果でした。ありがとうございましたMax! – ireth92
Np!それはうまくいった –