你好我是Js新手并使用stackoverflow来提问第一个问题。
当我使用Jquery的Ajax()来获取JSON响应时。
看起来像:
来自php的1.response_data // // JSON_encode(response_data);
2.data_array = JSON.parse(response_data)//解析后看起来像:
data_array = [[student : John , Score :{10, 40, 22}],
[student : Mary , Score :{20, 50, 66}],
[student : Ken , Score :{30, 60, 88}]];
3.我将如何做到这一点
a = [10,20,30];
b = [40,50,60];
c = [22,66,88];
4.因为我需要将每个人的分数分配给不同的对象
Math : [10, 20, 30];
English : [40, 50, 60];
physics : [22, 66, 88];
答案 0 :(得分:0)
我认为data_array变量输入错误但是为了回答你的问题,你可以这样做:
var new_array = data_array.map(function(item){
return item.Score;
});
var a = new_array[0], b = new_array[1], c = new_array[2];
答案 1 :(得分:0)
在data_array上尝试使用Array对象的每个方法。阅读有关foreach here的更多信息。
var data_array = [{student : "John" , Score :[10, 40, 22]},
{student : "Mary" , Score :[20, 50, 66]},
{student : "Ken" , Score :[30, 60, 88]}];
console.log(data_array);
var math_arr = [];
var english_arr=[];
var physics_arr = [];
data_array.forEach(function(i){
math_arr.push(i.Score[0])
english_arr.push(i.Score[1])
physics_arr.push(i.Score[2])
});
document.getElementById("app").innerHTML = "Math Score " + math_arr + "<br/>"+ "English Score " + english_arr + "<br/>"+"Physics Score " + physics_arr + "<br/>";
console.log(math_arr,english_arr,physics_arr);
<div id="app">
</div>
答案 2 :(得分:0)
在这种情况下,您必须编写一个函数来执行此操作:
function getScore(data_array) {
var scores = { a: [], b: [], c: [] };
for (var i = 0; i < data_array.length; i++) {
scores.a.push(data_array[i].Score[0]);
scores.b.push(data_array[i].Score[1]);
scores.c.push(data_array[i].Score[2]);
}
return scores;
}
因此,当您致电getScore(data_array)
时,您会得到以下结果:
{
a: [10,20,30],
b: [40,50,60],
c: [22,66,88]
}
答案 3 :(得分:0)
var englishScore = [];
var mathScore = [];
var physicsScore = [];
for(i=0;i<data.length;i++){
score = data[i].Score.split(",");
englishScore.push(score[0]);
mathScore.push(score[1]);
physicsScore.push(score[2]);
}
希望它有所帮助。