Javascript JS无法从数组填充数组
我有一系列的考试结果,包括考试的日期和成绩。我想把所有成绩放在一个数组中,日期放在另一个数组中,这样我就可以在chart.js应用程序中绘制它们。我怎样才能把它们分开 结果阵列示例布局:Javascript JS无法从数组填充数组,javascript,jquery,arrays,foreach,Javascript,Jquery,Arrays,Foreach,我有一系列的考试结果,包括考试的日期和成绩。我想把所有成绩放在一个数组中,日期放在另一个数组中,这样我就可以在chart.js应用程序中绘制它们。我怎样才能把它们分开 结果阵列示例布局: Results{ [0] {examDate: "2017-10-16T10:30:00", <ResultEntry>grade: A} [1] {examDate: "2017-15-16T11:00:00", <ResultEntry>grade: C} [2] {examD
Results{
[0] {examDate: "2017-10-16T10:30:00", <ResultEntry>grade: A}
[1] {examDate: "2017-15-16T11:00:00", <ResultEntry>grade: C}
[2] {examDate: "2017-16-16T11:30:00", <ResultEntry>grade: B}
[3]{examDate: "2017-20-16T12:00:00", <ResultEntry>grade: B}
}
我在我的项目上安装了Jquery。每个功能都可以用来实现这一点吗?您可以通过传递回调函数来使用
映射
方法
map()
let results=[{examDate:“2017-10-16T10:30:00”,等级:'A'},{examDate:“2017-15-16T11:00:00”,等级:'C'},{examDate:“2017-16-16T11:30:00”,等级:'B'},{examDate 2017-20-16T12:00:00”,等级:'B'};
设dates=results.map(函数(a){
返回a.examDate;
});
设等级=结果.map(函数(a){
返回a级;
});
控制台日志(日期);
控制台日志(等级)
您可以通过传递回调函数来使用map
方法
map()
let results=[{examDate:“2017-10-16T10:30:00”,等级:'A'},{examDate:“2017-15-16T11:00:00”,等级:'C'},{examDate:“2017-16-16T11:30:00”,等级:'B'},{examDate 2017-20-16T12:00:00”,等级:'B'};
设dates=results.map(函数(a){
返回a.examDate;
});
设等级=结果.map(函数(a){
返回a级;
});
控制台日志(日期);
控制台日志(等级)代码>您需要从数组元素获取字段值。选中此项:
var dateArray = [];
var gradeArray = [];
var counter = 0;
for (var member in results) {
dateArray.push(member.examDate);
gradeArray.push(member.grade);
}
您需要从数组元素中获取字段的值。选中此项:
var dateArray = [];
var gradeArray = [];
var counter = 0;
for (var member in results) {
dateArray.push(member.examDate);
gradeArray.push(member.grade);
}
如果results
是一个数组,则在此行中
for (members in results) {
成员
基本上是索引值0,1
因此成员[0]
将未定义
我在我的项目上安装了Jquery。每个功能都可以
用于实现这一点
是的,但是为什么不改用原生的forEach
var dateArray = [], gradeArray = [];
results.forEach( function( result ){
dateArray.push( result.examDate );
gradeArray.push( result.grade );
});
如果results
是一个数组,则在此行中
for (members in results) {
成员
基本上是索引值0,1
因此成员[0]
将未定义
我在我的项目上安装了Jquery。每个功能都可以
用于实现这一点
是的,但是为什么不改用原生的forEach
var dateArray = [], gradeArray = [];
results.forEach( function( result ){
dateArray.push( result.examDate );
gradeArray.push( result.grade );
});
考虑到结果数组具有以下形状:
let results = [
{ examDate: "2017-10-16T10:30:00", grade: 'A' },
{ examDate: "2017-15-16T11:00:00", grade: 'C' },
{ examDate: "2017-16-16T11:30:00", grade: 'B' },
{ examDate: "2017-20-16T12:00:00", grade: 'B' }
];
此功能非常适合:
let dateArray = results.map(result => result.examDate);
let gradeArray = results.map(result => result.grade);
您还可以通过几种不同的方式在元素上循环:
let dateArray = [],
gradeArray = [];
for (let result of results) {
dateArray.push(result.examDate);
gradeArray.push(result.grade);
}
还有一个类似于您的解决方案:
var dateArray = [],
gradeArray = [];
for (var i = 0; i < results.length; i++) {
dateArray[i] = results[i].examDate;
gradeArray[i] = results[i].grade;
}
考虑到结果数组具有以下形状:
let results = [
{ examDate: "2017-10-16T10:30:00", grade: 'A' },
{ examDate: "2017-15-16T11:00:00", grade: 'C' },
{ examDate: "2017-16-16T11:30:00", grade: 'B' },
{ examDate: "2017-20-16T12:00:00", grade: 'B' }
];
此功能非常适合:
let dateArray = results.map(result => result.examDate);
let gradeArray = results.map(result => result.grade);
您还可以通过几种不同的方式在元素上循环:
let dateArray = [],
gradeArray = [];
for (let result of results) {
dateArray.push(result.examDate);
gradeArray.push(result.grade);
}
还有一个类似于您的解决方案:
var dateArray = [],
gradeArray = [];
for (var i = 0; i < results.length; i++) {
dateArray[i] = results[i].examDate;
gradeArray[i] = results[i].grade;
}
尝试dateArray[counter]=members.examDate
和dateArray[counter]=members.grade
尝试dateArray[counter]=members.examDate
和dateArray[counter]=members.grade