Js中与数组有关的API函数
方法 | 含义 | 参数 | 原数组是否会改变 | 返回值 |
栈 | ||||
Array.prototype.push() | 添加一个或者多个元素到数组末尾 | 需要添加的元素 | 会 | 数组新的长度 |
Array.prototype.pop() | 删除一个数组中的最后的一个元素 | 无 | 会 | Arr[length-1] |
数组中的操作 | ||||
Array.prototype.splice() | 可对数组进行删除、插入、替换 | (start_index,num,replace)起始位置、要删除的项数、替换值 | 会 | 被删除的项、插入则返回[]、被替换的项 |
队列 | ||||
Array.prototype.unshift() | 添加一个或者多个元素到数组开头 | 需要添加的元素 | 会 | 数组新的长度 |
Array.prototype.shift() | 删除一个数组中的第一个元素 | 无 | 会 | Arr[0] |
判断 | ||||
Array.isArray | 判断当前变量是否是数组类型(兼容性好) | 当前变量 | 不会 | 布尔值 |
排序 | ||||
Array.prototype.reverse() | 颠倒数组中元素的顺序 (ASCII) | 无 | 会 | 对数组的引用 |
Array.prototype.sort() | 对数组元素进行排序(ASCII) | 函数作为参数 排序函数 | 会 | 对数组的引用 |
截取 | ||||
Array.prototype.concat() | 拼接数组 | 要加入的数组或数组变量名 | 不会 (但是会产生新数组) | 拼接好的新数组 |
Array.prototype.slice() | 截取数组 | (start_index,end_index)起始结束位置,包左不包右 | 不会 (但是会产生新数组) | 所截取的数组的部分 |
查找 | ||||
Array.prototype.indexOf() Array.prototype.lastindexOf | 查找数据项在数组中的索引下标 | (要查找的数据项,start_index) | 不会 | 存在-索引下标 不存在-1 |
迭代 | ||||
Array.prototype.every() | 对每一个数据项执行函数,都满足要求返回true,否则返回false | 函数作为参数 数组项的值、该项在数组中的位置、数组对象本身(item,index,array) Fcname(item,index,array){ Return bool } | 不会 | 布尔值 |
Array.prototype.some() | 对每一个数据执行函数,有一个满足要求的就返回true, 所有的都不满足要求返回false | 函数作为参数 Fcname(item,index,array){ Return bool } | 不会 | 布尔值 |
Array.prototype.filter() | 过滤:对每一个数据项执行函数,满足要求的数据项保存起来,不满足要求的就不要 | 函数作为参数 Fcname(item,index,array){ Return bool } | 不会 (但是会产生新数组) | 满足要求得到数据项组成的数组 |
Array.prototype.map() | 一一映射:对每一个数据项执行函数的结果进行保存 | 函数作为参数 Fcname(item,index,array){ Return xx } | 不一定,可以将返回结果赋值给原数组从而改变原数组的值(但是会产生新数组) | 映射之后新的数组(个数相同) |
Array.prototype.forEach() | 迭代循环 | 函数作为参数 Fcname(item,index,array){ 没有返回值 } | 不会 | 没有返回值 |