从数组中的对象动态创建逻辑或 (||) 运算符
Create logical OR (||) operator dynamically from objects in an array
我正在 JavaScript 中寻找将 objects
的 Array
转换为逻辑 OR (||) 运算符的解决方案。
我想要实现的一个例子是
const logic =
(scrollPosition > 0 - 61 && scrollPosition < 1511 - 61) ||
(scrollPosition > 3021 - 61 && scrollPosition < 4532 - 61) ||
(scrollPosition > 4531.5 - 61 && scrollPosition < 6041.5 - 61) ||
(scrollPosition > 9063 - 61 && scrollPosition < 10574 - 61) ||
(scrollPosition > 10573.5 - 61 && scrollPosition < 12083.5 - 61) ||
(scrollPosition > 12084 - 61 && scrollPosition < 13091 - 61);
我如何从
得到这个结果
const data = [
{ start: 0, finish: 1511 },
{ start: 3021, finish: 4532 },
{ start: 4531.5, finish: 6041.5 },
{ start: 9063, finish: 10574 },
{ start: 10573.5, finish: 12083.5 },
{ start: 12084, finish: 13091 },
];
Array.prototype.some
检查是否至少有一个元素匹配条件,使其等效于链式 OR。
data.some(x => scrollPosition > x.start - 61 && scrollPosition < x.finish - 61)
我正在 JavaScript 中寻找将 objects
的 Array
转换为逻辑 OR (||) 运算符的解决方案。
我想要实现的一个例子是
const logic =
(scrollPosition > 0 - 61 && scrollPosition < 1511 - 61) ||
(scrollPosition > 3021 - 61 && scrollPosition < 4532 - 61) ||
(scrollPosition > 4531.5 - 61 && scrollPosition < 6041.5 - 61) ||
(scrollPosition > 9063 - 61 && scrollPosition < 10574 - 61) ||
(scrollPosition > 10573.5 - 61 && scrollPosition < 12083.5 - 61) ||
(scrollPosition > 12084 - 61 && scrollPosition < 13091 - 61);
我如何从
得到这个结果const data = [
{ start: 0, finish: 1511 },
{ start: 3021, finish: 4532 },
{ start: 4531.5, finish: 6041.5 },
{ start: 9063, finish: 10574 },
{ start: 10573.5, finish: 12083.5 },
{ start: 12084, finish: 13091 },
];
Array.prototype.some
检查是否至少有一个元素匹配条件,使其等效于链式 OR。
data.some(x => scrollPosition > x.start - 61 && scrollPosition < x.finish - 61)