includes (Lodash 兼容性)
请使用 Array.prototype.includes
此 includes 函数由于对象迭代和 SameValueZero 比较处理而运行缓慢。对于数组,JavaScript 的原生 Array.prototype.includes 方法更快且更标准化。
请使用更快、更现代的 Array.prototype.includes。
检查数组、对象或字符串中是否包含特定值。
typescript
const hasValue = includes(collection, target, fromIndex);参考
includes(collection, target, fromIndex)
当您想检查数组、对象或字符串中是否存在特定值时,请使用 includes。它使用 SameValueZero 方式比较值。
typescript
import { includes } from 'es-toolkit/compat';
// 在数组中查找值
includes([1, 2, 3], 2);
// Returns: true
// 在对象的值中查找
includes({ a: 1, b: 'a', c: NaN }, 'a');
// Returns: true
// 在字符串中查找子字符串
includes('hello world', 'world');
// Returns: true可以从特定索引开始搜索。
typescript
import { includes } from 'es-toolkit/compat';
// 从索引 2 开始搜索
includes([1, 2, 3, 2], 2, 2);
// Returns: true (在索引 3 处找到)
// 负索引从末尾计算
includes([1, 2, 3], 2, -2);
// Returns: truenull 或 undefined 始终返回 false。
typescript
import { includes } from 'es-toolkit/compat';
includes(null, 1); // false
includes(undefined, 1); // false也可以在字符串中搜索子字符串。
typescript
import { includes } from 'es-toolkit/compat';
// 从头开始搜索
includes('hello', 'e');
// Returns: true
// 从特定位置搜索
includes('hello', 'e', 2);
// Returns: false (索引 2 之后没有 'e')可以正确找到 NaN 值。
typescript
import { includes } from 'es-toolkit/compat';
includes([1, 2, NaN], NaN);
// Returns: true
includes({ a: 1, b: NaN }, NaN);
// Returns: true参数
collection(Array | Record<string, any> | string | null | undefined): 要搜索的数组、对象或字符串。target(any): 要查找的值。fromIndex(number, 选择): 开始搜索的索引。负值从末尾计算。默认值为0。
返回值
(boolean): 如果值存在则返回 true,否则返回 false。

