属性:
名称 | 值类型 | 说明 |
[Array].constructor | [String] | 返回值为“Array”,表示类型的结构字符串 |
[Array].length | [Number] | 返回数组长度 |
方法:
原型:[Array].toString()
说明:将数组转换成字符串,用逗号分隔每个元素
原型:[Array].concat( array1, array2, ... arrayX )
说明:连接多个数组,返回连接后的数组副本,它不会改变原数组(array)
参数:
array1 [必需 Array]
array2....arrayX [可选]
原型:[Array].join( separator )
说明:把数组中的所有元素以指定的分隔符组成一个字符串
参数:
separator [可选 String] 指定分隔符,不设置时用逗号分隔
原型:[Array].pop()
说明:函数返回数组[array]的最后一个元素,同时会将[array]的最后一个元素删除。(更改了array的值)
原型:[Array].shift()
说明:函数返回数组[array]的第一个元素,同时会将[array]的第一个元素删除。(更改了array的值)
原型:[Array].unshift( newElement1, newElement2, ... newElementX)
说明:向数组的开头添加一个或更多元素,并返回新的长度。(更改了array的值)
参数:
newElement1 [必需 任意类型] 要添加的元素值
newElement2...newElementX [可选 任意类型]
原型:[Array].push( newElement1, newElement2, ... , newElementX)
说明:数组的末尾添加一个或多个元素,并返回新的长度。(更改了array的值)
参数:
newElement1 [必须 任意值]
newElement2... [可选]
原型:[Array].reverse()
说明:颠倒数组中元素的顺序。(更改了array的值)
返回:[Array]
原型:[Array].sort( sortby )
说明:对数组的元素进行排序。(更改了array的值)
参数:
sortby [可选 函数] 规定排序顺序。
原型:[Array].slice( start, end )
说明:返回数组[Array]指定起始位置与结束位置的元素,并组合成新的数组
返回:[Array] 没有结果时返回空数组[]
参数:
start [必需 Number] 起始位置,支持负值,同String.slice参数
end [可选 Number] 结束位置
原型:[Array].splice( index, howMany, item1, ... itemX)
说明:删除数组指定位置后的指定个数的元素,同时也可以用新的元素值替换被删除元素的位置(更改了array的值)
参数:
index [必需 Number] 整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howMany [必需 Number] 要删除的项目数量。如果设置为 0,则不会删除项目。
item1... [可选] 向数组添加的新项目(添加在删除掉的位置)。 返回: [Array] 返回删除掉的数组
原型:[Array].indexOf( element )
说明:返回数组中某个指定的元素位置。值-1表示没有找着,该方法将从头到尾地检索数组
原型:[Array].lastIndexOf( element )
说明:返回一个指定的元素在数组中最后出现的位置,值-1表示没有找着,该方法将从尾到头地检索数组
原型:[Array].every( function(item, index, arr){} )
说明:用于检测数组所有元素是否都符合指定条件(通过函数提供)
返回:true | false
参数:
function(item, index, arr)
item 必须。当前元素的值
index 可选。当前元素的索引值
arr 可选。当前元素属于的数组对象 示例:
var ages = [32, 33, 16, 40];
function checkAdult(age) {
return age >= 18;
}
function myFunction() {
return ages.every(checkAdult);
}
说明:
every会将数组ages内每个元素执行一次checkAdult,即会执行以下函数:
checkAdult(32, 0, ages); // 返回 true
checkAdult(33, 1, ages); // 返回 true
checkAdult(16, 2, ages); // 返回false
// checkAdult(40, 3, ages); 这段不会被执行,因为上段返回了false
原型:[Array].some( function(item, index, arr){} )
说明:功能是检测数组内是否含有满足条件的元素
返回:true | false
参数:同[Array].every( function()... );
说明:一旦检测到含有符合条件的元素,则中止执行
原型:[Array].forEach( function(item, index, arr){} )
说明:用于调用数组的每个元素,并将元素传递给回调函数。
返回:无
参数:同[Array].every( function()... );
原型:[Array].map( function(item, index, arr){} )
说明:返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。它不会更改原数组的值
示例:
var arr = [1,2,34,5,6, 34,5,67];
var newArr = arr.map(function(item, index, arr){
return item + index;
})
// 说明:将数组内的每个元素值 加上其索引值生成新的数组
原型:[Array].filter( function(item, index, arr){} )
说明:返回数组内符合条件的元素
参数:function(item, index, arr){} 同every
该函数返回true表示元素值符合条件,否则不符合条件
示例:
var arr = [1,2,34,5,6, 34,5,67];
var newArr = arr.filter(function(item, index, arr){
return item>20;
})
console.log( newArr ) // 结果: [34,34,67]
原型:[Array].reduce( function(total, item, index, arr){} )
说明:将数组中的元素按从左到右的顺序,计算为一个值
参数:function(total, item, index, arr){}
total 必需。初始值, 或者计算结束后的返回值。
其它参数同every
示例:
var arr = [1,2,3];
var t = arr.reduce(function(total, item, index, arr){
total = total + item;
return total
})
console.log( t ) // t= 1+2+3
原型:[Array].reduceRight( function(total, item, index, arr){} )
说明:将数组中的元素按从右到左的顺序,计算为一个值
参数:function(total, item, index, arr){}
total 必需。初始值, 或者计算结束后的返回值。
其它参数同every
示例:
var arr = [1,2,3];
var t = arr.reduce(function(total, item, index, arr){
total = total + item;
return total
})
console.log( t ) // t= 3 + 2 + 1