js Array方法总结
修改器方法(9)
copyWithin(target: number, start: number, end?: number): this;
// 浅复制数组的一部分到同一数组中的另一个位置,并返回它,不会改变原数组的长度。
fill(value: T, start?: number, end?: number): this;
// 用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。不包括终止索引。
pop(): T | undefined;
// 后删,返回被删元素。
push(...items: T[]): number;
// 后加,返回length。
shift(): T | undefined;
// 前删,返回被删元素。
unshift(...items: T[]): number;
// 前加,返回length。
splice(start: number, deleteCount?: number): T[];
// 在任意的位置给数组添加或删除任意个元素。
reverse(): T[];
// 反转。
sort(compareFn?: (a: T, b: T) => number): this;
// 排序。
访问方法(11)
flat();
// 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。
flatMap();
// 方法首先使用映射函数映射每个元素,然后将结果压缩成一个新数组。它与 map 和 深度值1的 flat 几乎相同,但 flatMap 通常在合并成一种方法的效率稍微高一些。
concat(...items: ConcatArray<T>[]): T[];
// 返回一个由当前数组和其它若干个数组或者若干个非数组值组合而成的新数组。
slice(start?: number, end?: number): T[];
// 抽取当前数组中的一段元素组合成一个新数组。
join(separator?: string): string;
// 连接所有数组元素组成一个字符串。
toString(): string;
// 返回一个由所有数组元素组合而成的字符串。遮蔽了原型链上的 Object.prototype.toString() 方法。
toLocaleString(): string;
// 返回一个由所有数组元素组合而成的本地化后的字符串。遮蔽了原型链上的 Object.prototype.toLocaleString() 方法。
indexOf(searchElement: T, fromIndex?: number): number;
// 返回数组中第一个与指定值相等的元素的索引,如果找不到这样的元素,则返回 - 1。
lastIndexOf(searchElement: T, fromIndex?: number): number;
// 返回数组中最后一个(从右边数第一个)与指定值相等的元素的索引,如果找不到这样的元素,则返回 - 1。
includes(searchElement: T, fromIndex?: number): boolean;
// 判断当前数组是否包含某指定的值,如果是返回 true,否则返回 false。
toSource();
// 返回一个表示当前数组字面量的字符串。遮蔽了原型链上的 Object.prototype.toSource() 方法。
迭代方法(12)
在每一个数组元素都分别执行完回调函数之前,数组的length属性会被缓存在某个地方。所以迭代时慎重改变数组长度。
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<S extends T>(callbackfn: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[];
// 将所有在过滤函数中返回 true 的数组元素放进一个新数组中并返回。
every(callbackfn: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean;
// 如果数组中的每个元素都满足测试函数,则返回 true,否则返回 false。
some(callbackfn: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean;
// 如果数组中至少有一个元素满足测试函数,则返回 true,否则返回 false。
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;
// 从左到右为每个数组元素执行一次回调函数,并把上次回调函数的返回值放在一个暂存器中传给下次回调函数,并返回最后一次回调函数的返回值。
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;
// 从右到左为每个数组元素执行一次回调函数,并把上次回调函数的返回值放在一个暂存器中传给下次回调函数,并返回最后一次回调函数的返回值。
find<S extends T>(predicate: (this: void, value: T, index: number, obj: T[]) => value is S, thisArg?: any): S | undefined;
find(predicate: (value: T, index: number, obj: T[]) => unknown, thisArg?: any): T | undefined;
// 找到第一个满足测试函数的元素并返回那个元素的值,如果找不到,则返回 undefined。
findIndex(predicate: (value: T, index: number, obj: T[]) => unknown, thisArg?: any): number;
// 找到第一个满足测试函数的元素并返回那个元素的索引,如果找不到,则返回 - 1。
entries(): IterableIterator<[number, T]>;
// 返回一个数组迭代器对象,该迭代器会包含所有数组元素的键值对。
keys(): IterableIterator<number>;
// 返回一个数组迭代器对象,该迭代器会包含所有数组元素的键。
values(): IterableIterator<T>;
// 返回一个数组迭代器对象,该迭代器会包含所有数组元素的值。
数组检测
ECMAScript 3 instanceof
instanceof 操作符的问题在于,它假定只有一个全局执行环境。如果网页中包含多个框架,那实际上就存在两个以上不同的全局执行环境,从而存在两个以上不同版本的 Array 构造函数。如果你从一个框架向另一个框架传入一个数组,那么传入的数组与在第二个框架中原生创建的数组分别具有各自不同的构造函数。
ECMAScript 5 isArray
js Array方法总结的更多相关文章
- js Array 方法总结
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- js中Array方法归类解析
为什么要对Array方法进行归类解析 因为它常用,而且面试必问 改变原数组的方法 pop 删除并返回数组最后一个元素push 从末尾给数组添加元素,返回新数组length值reverse 颠倒数组元素 ...
- S5中新增的Array方法详细说明
ES5中新增的Array方法详细说明 by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wor ...
- JS扩展方法——字符串trim()
转自:http://www.cnblogs.com/kissdodog/p/3386480.html <head> <title>测试JS扩展方法</title> ...
- Js apply 方法 详解
Js apply方法详解 我在一开始看到JavaScript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这 ...
- ES5中新增的Array方法详细说明
一.前言-索引 ES5中新增的不少东西,了解之对我们写JavaScript会有不少帮助,比如数组这块,我们可能就不需要去有板有眼地for循环了. ES5中新增了写数组方法,如下: forEach (j ...
- js一些方法的扩展
//JS扩展方法与C#的扩展方法非常相似,也是可以链式调用的,也是通过对某个类的扩展写法来实现.这个东西非常好用,如果将预先写好的方法放到一个js里面引用的话,那么后面写js将非常有趣. //下面给出 ...
- JS扩展方法
JS扩展方法与C#的扩展方法非常相似,也是可以链式调用的,也是通过对某个类的扩展写法来实现.这个东西非常好用,如果将预先写好的方法放到一个js里面引用的话,那么后面写js将非常有趣. 下面给出一个例子 ...
- js Array数组的使用
js Array数组的使用 Array是javascript中的一个事先定义好的对象(也可以称作一个类),可以直接使用 创建Array对象 var array=new Array(): 创建指定元 ...
随机推荐
- Qt QString 与 const char* 类型的转换
QString DATA; std::string str = DATA.toStdString(); const char* ch = str.c_str();
- SQL提高性能
1.对外键建立索引,大数据量时性能提高明显(建索引可以直接[Merge Join],否则还须在查询时生成HASH表作[Hash Join]) 2.尽量少使用inner join,使用left join ...
- 博客已搬迁到 blog.vivym.xyz
博客已搬迁到 blog.vivym.xyz
- spring学习笔记三:Component注解(把POJO类实例化到spring的IOC容器中)
Component注解:把普通的POJO 类实例化到spring的IOC容器中,就是定义成<bean id="" class=""> 项目目录树: ...
- caffe之数据集介绍
数据集:http://bigdata.51cto.com/art/201702/531276.htm 计算机视觉 MNIST: 最通用的健全检查.25x25 的数据集,中心化,B&W 手写数字 ...
- [Golang]字符串拼接方式的性能分析
本文100%由本人(Haoxiang Ma)原创,如需转载请注明出处. 本文写于2019/02/16,基于Go 1.11.至于其他版本的Go SDK,如有出入请自行查阅其他资料. Overview 写 ...
- 方兴未艾的云计算:SoCC 2015大会
ACM 云计算研讨会(ACM Symposium on Cloud Computing, 以下简称SoCC)是由SIGMOD(Special Interest Group on Management ...
- 当iPhone用上联发科,你还会爱上它吗?
对于苹果来说,现在正在经历史上罕见的"冰火两重天"境遇.一方面是iPhone 8系列的售价以让人瞠目结舌的速度暴跌,另一方面则是史上售价最高的iPhone X遭遇疯抢,销量 ...
- 网络字体反爬之pyspider爬取起点中文小说
前几天跟同事聊到最近在看什么小说,想起之前看过一篇文章说的是网络十大水文,就想把起点上的小说信息爬一下,搞点可视化数据看看.这段时间正在看爬虫框架-pyspider,觉得这种网站用框架还是很方便的,所 ...
- JMeter接口测试-计数器
前言 在测试注册接口的时候,需要批量注册账号时,每注册一个并且需要随时去修改数据,比较繁琐,除了使用随机函数生成账号,我们还可以使用计数器来进行批量注册. 一:添加配置元件-计数器 二:注册10个账号 ...