javascript - 如何关联多维数组的索引
问题描述
我有这个基本术语和类的二维数组:
const content = [
['Spring 2017', 'Spring 2018', 'Spring 2019', 'Spring 2020'],
['Calc 1', 'Calc 2', 'Economics 1', 'Psychology 1'],
['Summer 2017', 'Summer 2018', 'Summer 2019', 'Summer 2020'],
['Swimming', 'English 1', 'History 1', 'Cooking 1']
]
我知道如何遍历主数组和子数组,但我想将术语与类联系起来,例如:
2017 年春季 - 计算 1
2018 年春季 - 计算 2
2019 年春季 - 经济学 1
2020 年春季 - 心理学 1
我很清楚数据的结构不是很好。我觉得我已经碰壁了。
解决方案
您可以一次迭代两个外部区域。然后,遍历内部的,并将学期保存在第一个数组中,并将对应的课程保存在JSON
对象中的第二个数组中作为键值对。您需要确保外部数组的长度是偶数,并且内部数组的长度相等。我假设学期是独一无二的,否则,您需要将它们作为对象存储在数组中。
const content = [
['Spring 2017', 'Spring 2018', 'Spring 2019', 'Spring 2020'],
['Calc 1', 'Calc 2', 'Economics 1', 'Psychology 1'],
['Summer 2017', 'Summer 2018', 'Summer 2019', 'Summer 2020'],
['Swimming', 'English 1', 'History 1', 'Cooking 1']
];
let coursesPerSemester = {};
if(content.length%2==0){
for(let i = 0; i < content.length; i+=2){
let semesters = content[i];
if(content[i+1].length == semesters.length){
for(let j = 0; j < semesters.length; j++){
coursesPerSemester[semesters[j]] = content[i+1][j];
}
}
}
console.log(coursesPerSemester);
}
推荐阅读
- spring-boot - 使用 Spring Boot 的 pki 架构
- jenkins - 在 jenkins 文件中为 robocopy 命令使用变量
- javascript - 手机媒体点击导航栏无响应
- scala - Zeppelin 火花工作被卡住并且不会自行终止
- r - 使用胶合语法将多个数据变量隧道化以“汇总”
- javascript - Angular:ngmodel 在 HTML 中创建空白选择选项
- docker - docker build --no-cache 会构建不同的层吗?
- stl - 使用 LLVM 在 Windows 上使用 QtCreator 设置 Cocos2dx 项目
- c# - Azure Functions - Host.json 不适用于 Azure 应用程序设置
- android - 在多行 TextView 的末尾放置一个视图