javascript - 在嵌套对象数组和另一个数组之间循环
问题描述
我有两个数组,一个是普通数组,另一个是对象数组。我在这里想要的只是告诉我如何在他们两个之间建立一个循环以获得“ Jhon ”是好的和(期中+期末)的总和:第一个不是学校,第二个是班级>>我会使用 .split("|") 将它们放在一个数组中 In b: object array
我不想要整个代码,只想要循环和 if 条件
该函数会将 a 中的 1|1 与 school_no 和 class_no 进行比较以匹配
但我希望 if 条件根据评估为学生的姓名着色,例如红色表示坏,蓝色表示好。
这里的数组
a=["1|1|Jhon","1|2|Akram","1|3|Mali"]
//first no for school no
//second no for class no.
b= [{
"result": [
{
"midterm": 25,
"evaluation": "good",
"finalterm": 24
}
],
"school _no": 1,
"class_no": 1
},
{
"result": [
{
"midterm": 55,
"evaluation": "verygood",
"finalterm": 60
}
],
"school_no": 1,
"class_no": 2
},
{
"result": [
{
"midterm": 11,
"evaluation": "bad",
"finalterm": 12
}
],
"school_no": 1,
"class_no": 3
}
];
console.log(a);
console.log(b);
这不是家庭作业,但它是我正在做的更大事情的一个小例子。
解决方案
我的理解是您想要生成新数组,其中包含对象列表,其中包含字符串和基于评估的颜色。
var a=["1|1|Jhon","1|2|Akram","1|3|Mali"]
//first no for school no
//second no for class no.
var b= [{
"result": [
{
"midterm": 25,
"evaluation": "good",
"finalterm": 24
}
],
"school_no": 1,
"class_no": 1
},
{
"result": [
{
"midterm": 55,
"evaluation": "verygood",
"finalterm": 60
}
],
"school_no": 1,
"class_no": 2
},
{
"result": [
{
"midterm": 11,
"evaluation": "bad",
"finalterm": 12
}
],
"school_no": 1,
"class_no": 3
}
];
var resultArrNew = a.reduce(function(ac, val) {
var valArra = val.split("|");
var matched = b.filter(function(obj) {
return obj.school_no == valArra[0] && obj.class_no == valArra[1];
});
var text = valArra[2] + " is " + matched[0].result[0].evaluation + " and sum is " + (matched[0].result[0].midterm+matched[0].result[0].finalterm);
var color = matched[0].result[0].evaluation === 'good' ? 'blue' : 'red';
ac.push({text: text, color: color});
return ac;
}, []);
console.log(resultArrNew);
推荐阅读
- python - 确定每掷骰子的几率
- javascript - 从 ts 文件导出多个 typescript 类型别名时出现错误“Unexpected token”
- python - 尝试发布 to_do 项目时的 Python + Django URL 和查看错误
- node.js - 在被邀请到服务器后,我似乎找不到让我的不和谐机器人发送消息的方法
- excel - VBA PRNG 有偏见吗?
- node.js - 在结帐时条纹默认卡
- c++ - GlobalAlloc 代替其他分配方式
- r - 从 R 数据帧中采样
- javascript - 使用 Dropify 删除上传的图片
- javascript - Reduce() 到状态对象 Typescript