indexOf
INFO
出于兼容性原因,此函数仅在 es-toolkit/compat 中提供。它可能具有替代的原生 JavaScript API,或者尚未完全优化。
从 es-toolkit/compat 导入时,它的行为与 lodash 完全一致,并提供相同的功能,详情请见 这里。
查找数组中第一个出现的值的索引。
此方法类似于 Array.prototype.indexOf,但也能找到 NaN 值。 它使用严格相等 (===) 来比较 NaN 以外的元素。
签名
typescript
function indexOf<T>(array: T[], searchElement: T, fromIndex?: number): number;参数
array(T[]): 要搜索的数组。
array 可以是 ArrayLike<T> 或 null 或 undefined 。
为了确保与 lodash 的完全兼容性,indexOf 函数会按照以下方式处理 array:
- 如果
array是ArrayLike<T>,它会使用Array.from(...)将其转换为数组。 - 如果
array是null或undefined,它会被视为一个空数组。
searchElement(T): 要搜索的值。fromIndex(number, 可选): 开始搜索的索引。
返回
(number): 数组中第一个出现的值的索引(以零为基准),如果未找到该值,则返回 -1。
示例
typescript
const array = [1, 2, 3, NaN];
indexOf(array, 3); // => 2
indexOf(array, NaN); // => 3
