如何解决如何显示索引数组的特殊词?
我还是新手,面临着一个挑战。
当用户想要找出日期时间时,我想在div中显示特定的单词 例如:
let today = new Date;
let time = today.getHours()
let hours= [
'work','work','fun',]
let hoursName = hours[today.getHours()];
console.log(hoursName);
我的代码有效,但我认为有点不正确。 如果我的数组的长度,将来会有 999 个索引吗?为了填充每个索引,我会花很多时间,是否有可能以某种方式将 (if,else if) 添加到数组中?
解决方法
您可以创建一个数组,其中包含“fun”值的开始和结束索引。就像问题中的 24 示例一样,它可以创建如下:
var funRanges = [[7,7],[15,17],[21,23]]; // [[Start,end]] (Both inclusive)
然后使用函数,您可以检查您的小时值是否在任何范围内。如下图:
var funRanges = [[7,end]] (Both inclusive)
var getHourName = (hour) => funRanges.some(x => hour >= x[0] && hour <= x[1]) ? 'fun': 'work';
console.log(getHourName(1))
// work
将来,您只需将新范围添加到 rangeArray 中,代码仍然可以正常工作。
,您可以维护数组数组,每个子数组都是“最后一个索引”和“项目类型”的窗口。
在下面同
0-6 --> 工作
7-7 --> 好玩
8-23 --> 电影
const get = (index) => {
// array of array,each array is "last index" and "type"
const hours = [
[6,"work"],[7,"fun"],[23,"movie"],];
const slot = hours.find((arr) => arr[0] >= index);
return slot[1];
};
console.log(get(5));
console.log(get(7));
console.log(get(15));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。