簡體   English   中英

從數組中的對象動態創建邏輯 OR (||) 運算符

[英]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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM