【问题标题】:Find whether Number is between two numbers查找 Number 是否在两个数字之间
【发布时间】:2018-12-11 07:35:07
【问题描述】:

我有一个数字数组 0,1,2,3,4,5,6 起始索引和结束索引是随机传递的。我必须找出给定的数字是否在起始索引和结束索引之间, 例如,如果起始索引为 0,结束索引为 3,我将需要判断给定数字是 0、1、2 还是 3,如果是 4、5 和 6,则返回 false。 现在对我来说棘手的部分 如果起始索引为 4,结束索引为 1,那么我需要判断数字是 4、5、6、0 还是 1,如果是 2 和 3,则返回 false

【问题讨论】:

标签: javascript arrays filter int range


【解决方案1】:

您可以先使用.filter() 过滤数组项,然后使用.includes() 检查是否存在:

let data = [0, 1, 2, 3, 4, 5, 6];

let checker = (arr, start, end, value) => (
    start <= end ?
    arr.filter((_, i) => i >= start && i <= end) :
    arr.filter((_, i) => i >= start || i <= end)
).includes(value);

console.log(checker(data, 0, 3, 1));
console.log(checker(data, 0, 3, 4));
console.log(checker(data, 4, 1, 5));
console.log(checker(data, 4, 1, 2));
console.log(checker(data, 4, 1, 1));

【讨论】:

    猜你喜欢
    • 2010-12-31
    • 2014-05-25
    • 1970-01-01
    • 1970-01-01
    • 2022-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多