📜  快速检查所有数组元素是否匹配闭包 - TypeScript (1)

📅  最后修改于: 2023-12-03 15:25:39.541000             🧑  作者: Mango

快速检查所有数组元素是否匹配闭包 - TypeScript

当需要在 TypeScript 中检查数组中的所有元素是否满足某些条件时,可以使用 every() 方法。该方法接受一个闭包作为参数,并对数组中的每个元素应用该闭包。当所有元素均匹配时,该方法返回 true,否则返回 false

以下是示例代码:

const numbers: number[] = [1, 2, 3, 4, 5];

const allPositive: boolean = numbers.every((num: number) => num > 0);

console.log(allPositive); // true

在上面的代码中,我们定义了一个名为 numbers 的数组,其中包含 5 个数字。接下来,我们使用 every() 方法对数组中的每个数字执行检查。我们定义了一个闭包,该闭包接受一个数字作为参数,并检查该数字是否大于 0。当所有数字均大于 0 时,every() 方法返回 true,同时将该值赋值给 allPositive 变量。最后,我们将变量 allPositive 打印到控制台上。

以上代码的输出结果应为 true,因为数组中的所有数字均大于 0。

除了使用箭头函数之外,我们还可以使用普通函数作为 every() 方法的参数,例如:

function isEven(num: number): boolean {
  return num % 2 === 0;
}

const numbers: number[] = [1, 2, 3, 4, 5];

const allEven: boolean = numbers.every(isEven);

console.log(allEven); // false

这里,我们定义了一个名为 isEven() 的函数,该函数接受一个数字作为参数,并返回该数字是否为偶数的布尔值。我们将该函数作为 every() 方法的参数,并将该方法应用于 numbers 数组中的每个元素。当所有元素均为偶数时,every() 方法返回 true。在上面的示例中,由于数组中存在奇数,因此 allEven 变量的值为 false

总之,使用 every() 方法可以快速检查 TypeScript 数组中的所有元素是否匹配闭包。该方法非常灵活,并且可以使用不同的函数签名。