打字稿中的布尔列表是否有 "all" 或 "any" 运算符

Is there a "all" or "any" operator for boolean lists in typescript

我想写一个形式为

的if语句

if (all entries in booleanList are true) {do something}

只需放入 booleanList 就相当于 .any()

我无法在互联网上或打字书中找到答案。在此先感谢您的帮助。

您可以为此使用 Array.prototype.every() 函数:

if(booleanList.every(val => val)){
 do something
}

当然,是 every:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every

const list = [true, false, true];

const every = list.every(bool => bool === true); // false
// const every = list.every(bool => bool); // false

Typescript 编译为 Javascript,因此它在运行时没有任何 Javascript 没有的功能。但是,Javascript 自 ES5 以来确实同时具有 every and some,只要您传递恒等函数:

arr.every(x => x) // all
arr.some(x => x)  // any

这种事情不太可能专门记录在 Typescript 书籍中,因为没有必要重复 Javascript 书籍的内容只是为了说 Typescript 也具有这些功能。如果您想知道标准库中有哪些函数可用,您应该查阅 Javascript 参考资料,例如 MDN Javascript reference.