javascript - Javascript 排序对象键索引
问题描述
这是我的结构/示例:
let arrWeekdays = ['Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'];
let obj1 = {
'Montag' : ['test string'],
'Dienstag' : ['test string'],
'Mittwoch' : ['test string'],
'Donnerstag' : ['test string'],
'Freitag' : ['test string'],
'Samstag' : ['test string']
}
let obj2 = {
'Donnerstag' : ['test string'],
'Samstag' : ['test string'],
'Montag' : ['test string'],
'Dienstag' : ['test string'],
'Mittwoch' : ['test string'],
'Freitag' : ['test string']
}
for ( key in objWeekdays ) {
// do something
}
for in 循环中的“objectWeekdays”有时被排序为“obj1”,但有时也无序为“obj2”。
我的问题:
for in with obj1 => "Montag" 的键索引为 0
for in with obj2 => "Montag" 的键索引为 2
有没有办法在“for in”循环之前对对象键进行排序?
我想总是从 for in 循环中的“Montag”开始。
提前感谢您的任何建议或帮助.javascri
解决方案
您可以迭代工作日数组并检查该属性是否存在以进行进一步处理。
这种方法对所有对象采取想要的顺序。
function iterate(object, days) {
for (const day of days) {
if (!(day in object)) continue;
console.log(object[day]); // processing
}
}
// call
iterate(object1, arrWeekdays);
推荐阅读
- spring-boot - Spring Boot 微服务 com.netflix.zuul.exception.ZuulException:转发错误
- mysql - 零件关系:年份、品牌、型号和装饰
- php - php,合并两个数组
- intellij-idea - 为什么 IntelliJ 建议将调用链转换为序列?
- c++ - 如何在文件的开头之间使用文件的输出更改字符串的值
和结束 - docker - Docker 多阶段构建、Kubernetes 和 Distroless 兼容性
- typescript - TypeScript 扩展了关键字混淆类型推断
- angular - 关于 twitter 类型跟随/取消关注 Angular 功能的基本概念?
- ansible - Unable to switch to a different user using become_user
- widget - SAPUI5 Web 内容小部件