将JSON拆分为两个数组会得到未定义的键值
Split JSON into two arrays gives undefined keys-values
我有一个项目要做,我从数据库中创建一个json对象,然后我需要在ajax的帮助下获得它,并将其拆分为两个数组,这样我就可以使用这些值在chart.js上创建图表。。。这可能真的很愚蠢,但我还在学习,所以我想不通。我已经尝试过其他类似案例中给出的许多答案,但都没有奏效。
当我尝试运行创建json的data.php时,我会在浏览器上得到这个:
[{"name":"Messenger","number":"29"},{"name":"Viber","number":"28"},{"name":"Facebook","number":"28"},{"name":"Skype","number":"17"}]
我的javascript获取json,将其拆分为两个数组并创建图表:
$(document).ready(function(){
$.ajax({
url: "http://localhost/project_test/data.php",
method: "GET",
success: function(data) {
console.log(data);
//trying to create the two arrays...
var applications = [];
var number = [];
for(var i in data) {
applications.push("App name " + data[i]['name']);
number.push(data[i].number);
}
console.log(applications);
console.log(number);
//chart.js things....
var ctx = $("#mycanvas");
var barGraph = new Chart(ctx, {
type: 'line',
data: {
labels: applications,
datasets: [{
label: 'Chart',
data: number,
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)',
'rgba(75, 192, 192, 0.2)',
'rgba(153, 102, 255, 0.2)',
'rgba(255, 159, 64, 0.2)'
],
borderColor: [
'rgba(255,99,132,1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)',
'rgba(255, 159, 64, 1)'
],
borderWidth: 1
}]
},
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero:true
}
}]
}
}
});
},
error: function(data) {
console.log(data);
}
});
});
我使用了两种方法(data[i].name
和data[i]['name']
(来获取值,但都不起作用。
我的控制台日志
您使用的是for in循环,而不是for循环。
for(var i in data) {
applications.push("App name " + data[i]['name']);
number.push(data[i].number);
}
应该是
for(var i = 0; i < data.length; i++) {
applications.push("App name " + data[i]['name']);
number.push(data[i].number);
}
您得到的是一个对象数组。使用jQuery,您可以处理如下两个数组:
var data = [{"name":"Messenger","number":"29"},{"name":"Viber","number":"28"},{"name":"Facebook","number":"28"},{"name":"Skype","number":"17"}];
var names = [];
var numbers = [];
$.each(data, function(i, row) {
names.push(row.name);
numbers.push(row.number);
});
Fiddle
相关文章:
- 用HTML5FileReader填充的Javascript多维数组未定义(但仅在首次使用时!)
- 访问节点js中对象内部的数组-未定义
- 嵌套的“for”循环 - 数组未定义
- Javascript 数组未定义的值
- 我的 JS 数组未定义 x 7 的问题
- JSON 多维数组未显示(“数组未定义”)
- 挖空嵌套模型可观察数组未定义
- 嵌套对象,访问父对象中的对象数组 = 未定义
- 对象的Javascript数组未定义
- Javascript数组未定义..并且I'I’我不知道为什么
- json对象数组未定义错误
- Javascript数组未定义,没有大小
- Javascript全局数组未定义
- JavaScript二维数组未定义
- 控制台显示数组未定义
- $ajax请求不能保存到数组(未定义)
- 为什么我的数组“未定义”?
- JSON数组未定义
- 类型错误:数组未定义
- JSON数据到Javascript数组未定义