[ Typescript 手册] JavaScript `Array` 在 Typescript 中的接口

简介: [ Typescript 手册] JavaScript `Array` 在 Typescript 中的接口

[ Typescript 手册] JavaScript `Array` 在 Typescript 中的接口


给出Array对象接口中文注释,以便查询

JavaScript Array 在 Typescript 中的接口

项目 类别 功能概述
length: number; 属性 获取或设置数组的长度。这比数组中的最高索引高一号。
toString(): string; 函数 返回数组的字符串表示形式。
toLocaleString(): string; 函数 返回数组的字符串表示形式。这些元素使用它们的toLocaleString方法转换为字符串。
pop(): T | undefined; 函数 从数组中移除最后一个元素并返回它。
push(…items: T[]): number; 函数 将新元素追加到数组末尾,并返回数组的新长度。
concat(…items: ConcatArray<T>[]): T[]; 函数 组合两个或多个数组。
concat(…items: (T | ConcatArray<T>)[]): T[]; 函数 组合两个或多个数组。
join(separator?: string): string; 函数 将数组的所有元素添加到字符串中,用指定的分隔符字符串分隔。
reverse(): T[]; 函数 在适当的位置反转数组中的元素。
shift(): T | undefined; 函数 从数组中移除第一个元素并返回它。
slice(start?: number, end?: number): T[]; 函数 返回数组某一部分的副本。
sort(compareFn?: (a: T, b: T) => number): this; 函数 对数组进行就地排序。
splice(start: number, deleteCount?: number): T[]; 函数 从数组中移除元素,并在必要时插入新元素,返回删除的元素。
splice(start: number, deleteCount: number, …items: T[]): T[]; 函数 从数组中移除元素,并在必要时插入新元素,返回删除的元素。
unshift(…items: T[]): number; 函数 在数组的开头插入新元素,并返回数组的新长度。
indexOf(searchElement: T, fromIndex?: number): number; 函数 返回数组中第一个值的索引,如果不存在,则返回-1。
lastIndexOf(searchElement: T, fromIndex?: number): number; 函数 返回指定值在数组中最后一次出现的索引,如果不存在,则返回-1。
every<SextendsT>(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): this is S[]; 函数 确定数组的所有成员是否满足指定的测试
some(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; 函数 确定对于数组的任何元素,指定的回调函数是否返回true。
forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; 函数 为数组中的每个元素执行指定的操作。
map<U>(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; 函数 对数组的每个元素调用一个已定义的回调函数,并返回一个包含结果的数组。
filter<SextendsT>(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; 函数 返回满足回调函数中指定条件的数组元素。
filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; 函数 返回满足回调函数中指定条件的数组元素。
reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; 函数 为数组中的所有元素调用指定的回调函数。回调函数的返回值是累积的结果,并在回调函数的下一次调用中作为参数提供。
reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; 函数 为数组中的所有元素调用指定的回调函数。回调函数的返回值是累积的结果,并在回调函数的下一次调用中作为参数提供。
reduce<U>(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; 函数 为数组中的所有元素调用指定的回调函数。回调函数的返回值是累积的结果,并在回调函数的下一次调用中作为参数提供。
reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; 函数 按降序为数组中的所有元素调用指定的回调函数。回调函数的返回值是累积的结果,并在回调函数的下一次调用中作为参数提供。
reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; 函数 按降序为数组中的所有元素调用指定的回调函数。回调函数的返回值是累积的结果,并在回调函数的下一次调用中作为参数提供。
reduceRight<U>(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; 函数 按降序为数组中的所有元素调用指定的回调函数。回调函数的返回值是累积的结果,并在回调函数的下一次调用中作为参数提供。
readonly [n: number]: T;
interface Array<T> {
    /**
     * 获取或设置数组的长度。这比数组中的最高索引高一号。
     */
    length: number;
    /**
     * 返回数组的字符串表示形式。
     */
    toString(): string;
    /**
     * 返回数组的字符串表示形式。这些元素使用它们的toLocaleString方法转换为字符串。
     */
    toLocaleString(): string;
    /**
     * 从数组中移除最后一个元素并返回它。
     * 如果数组为空,则返回undefined,并且不修改数组。
     */
    pop(): T | undefined;
    /**
     * 将新元素追加到数组末尾,并返回数组的新长度。
     * @param 要添加到数组中的新元素。
     */
    push(...items: T[]): number;
    /**
     * 组合两个或多个数组。
     * 此方法返回一个新数组,而不修改任何现有数组。
     * @param 项目要添加到数组末尾的附加数组和/或项目。
     */
    concat(...items: ConcatArray<T>[]): T[];
    /**
     * 组合两个或多个数组。
     * 此方法返回一个新数组,而不修改任何现有数组。
     * @param 项目要添加到数组末尾的附加数组和/或项目。
     */
    concat(...items: (T | ConcatArray<T>)[]): T[];
    /**
     * 将数组的所有元素添加到字符串中,用指定的分隔符字符串分隔。
     * @param 分隔符用于将数组中的一个元素与结果字符串中的下一个元素分开的字符串。如果省略,数组元素用逗号分隔。
     */
    join(separator?: string): string;
    /**
     * 在适当的位置反转数组中的元素。
     * 此方法变异数组并返回对同一数组的引用。
     */
    reverse(): T[];
    /**
     * 从数组中移除第一个元素并返回它。
     * 如果数组为空,则返回undefined,并且不修改数组。
     */
    shift(): T | undefined;
    /**
     * 返回数组某一部分的副本。
     * 对于开始和结束,可以使用负索引来指示从数组末尾的偏移量。
     * 例如,-2表示数组的倒数第二个元素。
     * @param start 数组指定部分的开始索引。
     * 如果start未定义,则切片从索引0开始。
     * @param end 数组指定部分的结束索引。这不包括索引“end”处的元素。
     * 如果end未定义,则切片会延伸到数组的末尾。
     */
    slice(start?: number, end?: number): T[];
    /**
     * 对数组进行就地排序。
     * 此方法变异数组并返回对同一数组的引用。
     * @param 用于确定元素顺序的比较函数。如果第一个参数小于第二个参数,它应该返回一个负值,如果它们相等,则返回零,否则返回一个正值。如果省略,元素将按升序排列,ASCII字符顺序。
     * ```ts
     * [11,2,22,1].sort((a, b) => a - b)
     * ```
     */
    sort(compareFn?: (a: T, b: T) => number): this;
    /**
     * 从数组中移除元素,并在必要时插入新元素,返回删除的元素。
     * @param 数组中从零开始移除元素的位置。
     * @param 删除计数要删除的元素数量。
     * @returns 包含已删除元素的数组。
     */
    splice(start: number, deleteCount?: number): T[];
    /**
     * 从数组中移除元素,并在必要时插入新元素,返回删除的元素。
     * @param 数组中从零开始移除元素的位置。
     * @param 删除计数要删除的元素数量。
     * @param 项目要插入数组中的元素,以取代已删除的元素。
     * @returns 包含已删除元素的数组。
     */
    splice(start: number, deleteCount: number, ...items: T[]): T[];
    /**
     * 在数组的开头插入新元素,并返回数组的新长度。
     * @param items 要在数组开头插入的元素。
     */
    unshift(...items: T[]): number;
    /**
     * 返回数组中第一个值的索引,如果不存在,则返回-1。
     * @param searchElement 要在数组中定位的值。
     * @param fromIndex 开始搜索的数组索引。如果省略fromIndex,搜索将从索引0开始。
     */
    indexOf(searchElement: T, fromIndex?: number): number;
    /**
     * 返回指定值在数组中最后一次出现的索引,如果不存在,则返回-1。
     * @param searchElement 要在数组中定位的值。
     * @param fromIndex 开始向后搜索的数组索引。如果省略fromIndex,搜索将从数组中的最后一个索引开始。
     */
    lastIndexOf(searchElement: T, fromIndex?: number): number;
    /**
     * 确定数组的所有成员是否满足指定的测试。
     * @param predicate 最多接受三个参数的函数。every方法为数组中的每个元素调用谓词函数,直到谓词返回一个强制布尔值false的值,或者直到数组结束。
     * @param thisArg 这个关键字在谓词函数中可以引用的对象。
     * 如果省略thisArg,则使用undefined作为this值。
     */
    every<S extends T>(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): this is S[];
    /**
     * 确定数组的所有成员是否满足指定的测试。
     * @param predicate 最多接受三个参数的函数。every方法为数组中的每个元素调用谓词函数,直到谓词返回一个强制布尔值false的值,或者直到数组结束。
     * @param thisArg 这个关键字在谓词函数中可以引用的对象。
     * 如果省略thisArg,则使用undefined作为this值。
     */
    every(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean;
    /**
     * 确定对于数组的任何元素,指定的回调函数是否返回true。
     * @param predicate 最多接受三个参数的函数。一些方法调用
     * 数组中每个元素的谓词函数,直到谓词返回一个强制布尔值true的值,或者直到数组结束。
     * @param thisArg 这个关键字在谓词函数中可以引用的对象。
     * 如果省略thisArg,则使用undefined作为this值。
     */
    some(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean;
    /**
     * 为数组中的每个元素执行指定的操作。
     * @param callbackfn  最多接受三个参数的函数。forEach为数组中的每个元素调用callbackfn函数一次。
     * @param thisArg  callbackfn函数中该关键字可以引用的对象。如果省略thisArg,则使用undefined作为this值。
     */
    forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void;
    /**
     * 对数组的每个元素调用一个已定义的回调函数,并返回一个包含结果的数组。
     * @param callbackfn 最多接受三个参数的函数。map方法为数组中的每个元素调用callbackfn函数一次。
     * @param thisArg callbackfn函数中该关键字可以引用的对象。如果省略thisArg,则使用undefined作为this值。
     */
    map<U>(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[];
    /**
     * 返回满足回调函数中指定条件的数组元素。
     * @param predicate 最多接受三个参数的函数。filter方法为数组中的每个元素调用一次谓词函数。
     * @param thisArg 这个关键字在谓词函数中可以引用的对象。如果省略thisArg,则使用undefined作为this值。
     */
    filter<S extends T>(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[];
    /**
     * 返回满足回调函数中指定条件的数组元素。
     * @param predicate 最多接受三个参数的函数。filter方法为数组中的每个元素调用一次谓词函数。
     * @param thisArg 这个关键字在谓词函数中可以引用的对象。如果省略thisArg,则使用undefined作为this值。
     */
    filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[];
    /**
     * 为数组中的所有元素调用指定的回调函数。回调函数的返回值是累积的结果,并在回调函数的下一次调用中作为参数提供。
     * @param callbackfn 最多接受四个参数的函数。reduce方法为数组中的每个元素调用callbackfn函数一次。
     * @param initialValue 如果指定了initialValue,它将用作开始累加的初始值。对callbackfn函数的第一次调用将该值作为参数而不是数组值提供。
     */
    reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T;
    reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T;
    /**
     * 为数组中的所有元素调用指定的回调函数。回调函数的返回值是累积的结果,并在回调函数的下一次调用中作为参数提供。
     * @param callbackfn 最多接受四个参数的函数。reduce方法为数组中的每个元素调用callbackfn函数一次。
     * @param initialValue 如果指定了initialValue,它将用作开始累加的初始值。对callbackfn函数的第一次调用将该值作为参数而不是数组值提供。
     */
    reduce<U>(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U;
    /**
     * 按降序为数组中的所有元素调用指定的回调函数。回调函数的返回值是累积的结果,并在回调函数的下一次调用中作为参数提供。
     * @param callbackfn 最多接受四个参数的函数。reduceRight方法为数组中的每个元素调用callbackfn函数一次。
     * @param initialValue 如果指定了initialValue,它将用作开始累加的初始值。对callbackfn函数的第一次调用将该值作为参数而不是数组值提供。
     */
    reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T;
    reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T;
    /**
     * 按降序为数组中的所有元素调用指定的回调函数。回调函数的返回值是累积的结果,并在回调函数的下一次调用中作为参数提供。
     * @param callbackfn 最多接受四个参数的函数。reduceRight方法为数组中的每个元素调用callbackfn函数一次。
     * @param initialValue 如果指定了initialValue,它将用作开始累加的初始值。对callbackfn函数的第一次调用将该值作为参数而不是数组值提供。
     */
    reduceRight<U>(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U;
    [n: number]: T;
}
interface ArrayConstructor {
    new(arrayLength?: number): any[];
    new <T>(arrayLength: number): T[];
    new <T>(...items: T[]): T[];
    (arrayLength?: number): any[];
    <T>(arrayLength: number): T[];
    <T>(...items: T[]): T[];
    isArray(arg: any): arg is any[];
    readonly prototype: any[];
}
declare var Array: ArrayConstructor;
目录
打赏
0
0
0
0
332
分享
相关文章
JavaScript 中通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能,JS中排序算法的使用详解(附实际应用代码)
Array.sort() 是一个功能强大的方法,通过自定义的比较函数,可以处理各种复杂的排序逻辑。无论是简单的数字排序,还是多字段、嵌套对象、分组排序等高级应用,Array.sort() 都能胜任。同时,通过性能优化技巧(如映射排序)和结合其他数组方法(如 reduce),Array.sort() 可以用来实现高效的数据处理逻辑。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
深入理解 JavaScript 中的 Array.find() 方法:原理、性能优势与实用案例详解
Array.find() 是 JavaScript 数组方法中一个非常实用和强大的工具。它不仅提供了简洁的查找操作,还具有性能上的独特优势:返回的引用能够直接影响原数组的数据内容,使得数据更新更加高效。通过各种场景的展示,我们可以看到 Array.find() 在更新、条件查找和嵌套结构查找等场景中的广泛应用。 在实际开发中,掌握 Array.find() 的特性和使用技巧,可以让代码更加简洁高效,特别是在需要直接修改原数据内容的情形。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一
通过array.some()实现权限检查、表单验证、库存管理、内容审查和数据处理;js数组元素检查的方法,some()的使用详解,array.some与array.every的区别(附实际应用代码)
array.some()可以用来权限检查、表单验证、库存管理、内容审查和数据处理等数据校验工作,核心在于利用其短路机制,速度更快,节约性能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
通过array.every()实现数据验证、权限检查和一致性检查;js数组元素检查的方法,every()的使用详解,array.some与array.every的区别(附实际应用代码)
array.every()可以用来数据验证、权限检查、一致性检查等数据校验工作,核心在于利用其短路机制,速度更快,节约性能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
JavaScript中通过array.filter()实现数组的数据筛选、数据清洗和链式调用,JS中数组过滤器的使用详解(附实际应用代码)
用array.filter()来实现数据筛选、数据清洗和链式调用,相对于for循环更加清晰,语义化强,能显著提升代码的可读性和可维护性。博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
探索Deno:新一代JavaScript/TypeScript运行时
Deno是由Node.js创始人Ryan Dahl发起的新一代JavaScript/TypeScript运行时,旨在提升安全性、模块化和性能。本文介绍了Deno的核心特性,如内置TypeScript支持、强大的模块系统、权限管理和测试工具,以及开发技巧,帮助开发者构建更安全、高效的Web应用。
JavaScript与TypeScript的对比,分析了两者的特性及在实际项目中的应用选择
本文深入探讨了JavaScript与TypeScript的对比,分析了两者的特性及在实际项目中的应用选择。JavaScript以其灵活性和广泛的生态支持著称,而TypeScript通过引入静态类型系统,提高了代码的可靠性和可维护性,特别适合大型项目。文章还讨论了结合使用两种语言的优势,以及如何根据项目需求和技术背景做出最佳选择。
134 4
JavaScript和TypeScript的未来发展趋势及其在Web开发中的应用前景
本文探讨了JavaScript和TypeScript的未来发展趋势及其在Web开发中的应用前景。JavaScript将注重性能优化、跨平台开发、AI融合及WebAssembly整合;TypeScript则强调与框架整合、强类型检查、前端工程化及WebAssembly的深度结合。两者结合发展,特别是在Vue 3.0中完全采用TypeScript编写,预示着未来的Web开发将更加高效、可靠。
158 4
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
88 2

热门文章

最新文章