質問編集履歴
5
試したことについて追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -47,6 +47,8 @@
|
|
47
47
|
});
|
48
48
|
```
|
49
49
|
###試したこと
|
50
|
+
・変数のスコープの問題かと思い一番外側にcombatant_oを用意し、foreach中にcombatantから値渡しをしたがループが終わるとcombatant_oにも値が記録されなかった
|
51
|
+
|
50
52
|
配列の構造について
|
51
53
|

|
52
54
|
j_data
|
4
わかったことについて追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,40 +1,47 @@
|
|
1
1
|
###前提・実現したいこと
|
2
|
-
SQLに記録されているダメージログを取得し、ネーム別に合計値を算出しようとしましたが連装配列combatantにデータが登録されず
|
2
|
+
tableがクリックされた時にその行に設定されている日付のSQLに記録されているダメージログを取得し、ネーム別に合計値を算出しようとしましたが~~連装配列combatantにデータが登録されず~~
|
3
|
-
|
3
|
+
申し訳ありませんforeachループ中にはcombatantに値は正常に記録されているようでした。ですがforeachを抜けると変数combatantの値が消えているようです。なぜ中身が消えるのか教えていただきたいです。
|
4
4
|
###該当のソースコード```JavaScript```
|
5
5
|
```
|
6
|
-
var
|
6
|
+
var combatant_o = {};
|
7
7
|
var pie_data = [];
|
8
8
|
$("#logtable tbody td").bind("click", function () {
|
9
9
|
var datetime = $(this).closest('tr').children('td:eq(0)').text().replace(/\r?\n/g, "").trim();
|
10
|
-
combatant = {};
|
11
|
-
pie_data = [];
|
12
|
-
console.log("||" + datetime + "||");
|
10
|
+
//console.log("||" + datetime + "||");
|
13
11
|
$.getJSON('db.php', { "datetime": datetime },
|
14
12
|
function (j_data) {
|
13
|
+
var combatant = {};
|
14
|
+
//console.table(j_data);
|
15
15
|
//console.table(j_data[0]);
|
16
16
|
|
17
17
|
$.each(j_data, function (i, item) {
|
18
|
+
$.each(j_data[i], function (j, iteml) {
|
18
|
-
|
19
|
+
var player_data = j_data[i][j];
|
20
|
+
//console.table(player_data);
|
19
21
|
//console.log(j_data[i][key]["char_name"]+":"+j_data[i][key]["atk_dmg"]);
|
20
22
|
//console.table(j_data[key]);
|
21
|
-
if (
|
23
|
+
if (combatant[player_data["char_name"]]) {
|
24
|
+
combatant[player_data["char_name"]] = (combatant[player_data["char_name"]] + player_data["atk_dmg"]);
|
22
|
-
//console.log(
|
25
|
+
//console.log(player_data["char_name"] += ":" + player_data["atk_dmg"]);
|
23
|
-
combatant[j_data[i][key]["char_name"]] += j_data[i][key]["atk_dmg"];
|
24
26
|
} else {
|
27
|
+
// console.table(player_data);
|
28
|
+
//console.log(player_data["char_name"] + ":" + player_data["atk_dmg"]);
|
25
|
-
combatant[
|
29
|
+
combatant[player_data["char_name"]] = player_data["atk_dmg"];
|
26
30
|
|
27
31
|
}
|
32
|
+
console.table(combatant);
|
33
|
+
combatant_o = combatant;
|
34
|
+
|
28
|
-
}
|
35
|
+
})
|
29
36
|
}
|
30
37
|
)
|
31
38
|
}
|
32
|
-
)
|
39
|
+
)
|
33
|
-
console.table(
|
40
|
+
console.table(combatant_o);
|
34
|
-
Object.keys(
|
41
|
+
Object.keys(combatant_o).forEach(function (key) {
|
35
|
-
console.log(key + ":" +
|
42
|
+
console.log(key + ":" + combatant_o[key]);
|
36
|
-
pie_data.push([key,
|
43
|
+
pie_data.push([key, combatant_o[key]]);
|
37
|
-
})
|
44
|
+
})
|
38
45
|
|
39
46
|
drawChart();
|
40
47
|
});
|
3
jdataの中身について追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -40,6 +40,7 @@
|
|
40
40
|
});
|
41
41
|
```
|
42
42
|
###試したこと
|
43
|
+
配列の構造について
|
43
44
|

|
44
45
|
j_data
|
45
46
|

|
2
jdataの中身について追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -40,4 +40,9 @@
|
|
40
40
|
});
|
41
41
|
```
|
42
42
|
###試したこと
|
43
|
-
|
43
|
+

|
44
|
+
j_data
|
45
|
+

|
46
|
+
jdata[0]
|
47
|
+

|
48
|
+
jdata[0][0]
|
1
コードのレイアウト変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
###前提・実現したいこと
|
2
2
|
SQLに記録されているダメージログを取得し、ネーム別に合計値を算出しようとしましたが連装配列combatantにデータが登録されず困っています。コンソールの出力にはSQLからの取得は成功してダメージ一覧が取れているようですか原因がわかりません。
|
3
3
|
|
4
|
-
###該当のソースコード
|
4
|
+
###該当のソースコード```JavaScript```
|
5
|
+
```
|
5
6
|
var combatant = {};
|
6
7
|
var pie_data = [];
|
7
8
|
$("#logtable tbody td").bind("click", function () {
|
@@ -37,5 +38,6 @@
|
|
37
38
|
|
38
39
|
drawChart();
|
39
40
|
});
|
41
|
+
```
|
40
42
|
###試したこと
|
41
43
|
課題に対してアプローチしたことを記載してください
|