首页 > 解决方案 > 查找数组中的元素是否与另一个数组连续

问题描述

我想知道数组 A 的元素是否相对于数组 B 是连续的。例如

["9:00 AM", "9:30 AM", "10:00 AM"] 

是连续的

["9:00 AM", "9:30 AM", "10:00 AM", "10:30 AM", "11:00 AM", "11:30 AM", "12:00 PM", "12:30 PM", "1:00 PM", "1:30 PM", "2:00 PM", "2:30 PM", "3:00 PM", "3:30 PM", "4:00 PM", "4:30 PM"]

["9:00 AM", "10:30 AM", "11:00 AM"]

不是。

如果数组 A 的元素是连续的,则返回索引。例如

let all_appointments = ["9:00 AM", "9:30 AM", "10:00 AM", "10:30 AM", "11:00 AM", "11:30 AM", "12:00 PM", "12:30 PM", "1:00 PM", "1:30 PM", "2:00 PM", "2:30 PM", "3:00 PM", "3:30 PM", "4:00 PM", "4:30 PM"];
console.log(all_appointments.indexOf(["9:00 AM", "9:30 AM", "10:00 AM"]))

应该打印0

标签: javascriptarrayssequence

解决方案


function foobar(a, b) {
    const g = "__t(T.Tt)__";
    return b.join(g).indexOf(a.join(g)) === 0 ? 0 : undefined;
}

编辑:添加悲伤的柯比以减少误报的机会


推荐阅读