作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
虽然使用 for(key in object)
循环对象很简单,但我想通过索引(如数组)而不是它的值来访问对象。
我有一个“星期几”对象,包括:
days: { sunday: "N", monday: "Y", tuesday: "N", wednesday: "Y",
thursday: "N", friday: "Y", saturday: "N" }
我想使用一个循环遍历一周的七天 (0-6) 并检查该天对象是“Y”还是“N”(检查“天”对象的键 0(星期日)、1(星期一)、2、3 等处的值)
for (var i = 0; i < 7; i++) { }
我的问题可以用一堆 if
语句来解决 if i == 0 {//check sunday } else if i == 1 {//check monday }
或将我的对象操作成多个数组并从那里开始,但是这些都不是很优雅。有没有一种方法可以遍历 days
对象并通过键访问每个值(第一个为 0,第二个为 1,等等)?
最佳答案
以一致的顺序迭代对象的属性,你别无选择,只能使用属性名称数组,例如:
var daysList = [ 'sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday' ];
然后您可以遍历名称数组:
for (let i = 0; i < daysList.length; i++) {
let day = daysList[i];
// do what you need with days[day]
}
关于Javascript:通过数字索引而不是键值循环遍历对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47720871/
我是一名优秀的程序员,十分优秀!