基本函数集合
函数名称 | 语法 | 函数解析 | 返回值 | 是否改变原数组 |
---|---|---|---|---|
var arr = new Array() | 创建一个空数组 | |||
var arr = new Array(10) | 创建一个包含10项的数组 | |||
var arr = Array(7) | 创建一个长度为7的空数组(注意:这是指一个有7个空位(empty)的数组,而不是由7个undefined组成的数组) | |||
var arr = Array.of(7) | 创建一个包含1个字符串7的数组 | |||
constructor | 返回对创建此对象的数组函数的引用 | |||
length | array.length | 设置或返回数组中元素的数目 | ||
prototype | 向对象添加属性和方法 | |||
valueOf() | array.valueOf() | 返回 Array 对象的原始值。 该原始值由 Array 对象派生的所有对象继承。 valueOf() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。 | N | |
concat() | arrayObject.concat(arrayX,arrayX,......,arrayX) | 连接两个或多个数组 | N | |
join() | arrayObject.join(separator) /*separator-分隔符*/ | 把数组中的所有元素放入一个字符串 | N | |
reverse() | arrayObject.reverse() | 颠倒数组中元素的顺序 | Y | |
sort() | arrayObject.sort(sortby) sortby 可选。规定排序顺序。必须是函数。 | |||
pop() | arrayObject.pop() | 删除并返回数组的最后一个元素。 删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值 | Y | |
shift() | arrayObject.shift() | 把数组的第一个元素从其中删除,并返回第一个元素的值。 如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。请注意,该方法不创建新数组,而是直接修改原有的 arrayObject。 | Y | |
unshift() | arrayObject.unshift(newelement1,newelement2,....,newelementX) | 向数组的开头添加一个或更多元素,并返回新的长度 | arrayObject 的新长度。 | |
push() | arrayObject.push(newelement1,newelement2,....,newelementX) | 向数组的末尾添加一个或多个元素,并返回新的长度。 | Y | |
slice() | arrayObject.slice(start,end) /*-1 指最后一个元素*/ | 从已有的数组中返回选定的元素。 返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素 | N | |
splice() | arrayObject.splice(index,howmany,item1,.....,itemX) /* ary.splice(下标,删除数量,可选参数用于添加新项目) | 向/从数组中添加/删除项目,然后返回被删除的项目。 | Y | |
indexOf() | array.indexOf(item,start) /* indexOf(查找的元素,可选参数规定开始检索得位置 取值范围 [0-stringObject.length -1 ] ) | 返回数组中某个指定的元素位置 从头到尾地检索数组 | 元素在数组中的位置,如果没有搜索到则返回-1 | N |
lastIndexOf() | stringObject.lastIndexOf(searchvalue,fromindex) | 返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索 | 如果要检索的字符串值没有出现,则该方法返回 -1 | N |
toString() | array.toString() | 直接转为字符串,并返回 | ||
forEach() | array.forEach(function(currentValue, index, arr), thisValue) currentValue 当前元素 index 当前元素的索引值 arr 当前元素所属的数组对象 thisValue 可选。传递给函数的值一般用 "this" 值。 | 调用数组的每个元素,并将元素传递给回调函数。 对于空数组是不会执行回调函数的。 | N | |
map() | array.map(function(currentValue,index,arr), thisValue) 同上 | 返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。 按照原始数组元素顺序依次处理元素。 不会对空数组进行检测。 | N | |
filter() | array.filter(function(currentValue,index,arr), thisValue) | 创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。 不会对空数组进行检测 | 没有符合条件的元素则返回空数组 | N |
every() | array.every(function(currentValue,index,arr), thisValue) | 用于检测数组所有元素是否都符合指定条件。 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。 如果所有元素都满足条件,则返回 true 不会对空数组进行检测 | N | |
some() | array.some(function(currentValue,index,arr),thisValue) | 用于检测数组中的元素是否满足指定条件; 会依次执行数组的每个元素; 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测; 如果没有满足条件的元素,则返回false; 不会对空数组进行检测 | N | |
reduce() | array.reduce(function(total, currentValue, currentIndex, arr), initialValue) /initialValue 可选,传递给函数的初始值 | 接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。 可以作为一个高阶函数,用于函数的 compose。 对于空数组是不会执行回调函数。 | ||
reduceRight() | array.reduceRight(function(total, currentValue, currentIndex, arr), initialValue) | 功能和 reduce() 功能是一样的,不同的是 reduceRight() 从数组的末尾向前将数组中的数组项做累加 |