首页 > 代码库 > 数组方法 Array.prototype

数组方法 Array.prototype

Object.prototype

数组的值是有序的集合,每一个值叫做元素,每一个元素在数组中都有数字位置编号,也就是索引,js中数组是弱类型的,数组中可以含有不同类型的元素。数组元素甚至可以是对象或者其他数组 

长度范围:1====2的23方-1

new Array(100)//undifind*100

arr[5]=10;

arr.length//6

push()

unshift()

shift()

pop()

 

var Arr=[1,true,undifind,{x:1},[1,2,3]];

Array.prototype

Array.prototype.join()   默认, 可以自定义-------将数组转换成字符串

demo:

创建一定长度的固定字符循环字符串

new Array(2).join("ab");//abab

new Array(100),创建长度为100的数组,每一个元素是undifind,join中会忽略undifind

Array.prototype.reverse=======将数组逆序,会改变原来的数组

Array.prototype.sort()========对数组进行排序(默认是按字符串进行排序,可以自定义排序的方法)   原数组被修改

Array.prototype.concat()   数组合并   原数组没有被修改

Array.prototype.slice()=====返回部分数组   左闭右开区间   支持负数   -1表示最后一个元素    -2表示倒数第二个元素    原数组不会改变

Array.prototype.splice()======数组拼接    修改原数组     可以接受两个参数   第二个参数表示删除元素的长度   返回被删除的元素

Array.prototype.forEach()   数组遍历   参数是函数  三个参数   1 是对应的元素 2 是下标   3 是遍历的数组本身   不会修改原来的数组

Array.prototype.map()数组映射   不会修改原来的数组

Array.prototype.filter()  数组过滤  返回符合要求的数组  不会修改原来的数组

Array.prototype.every() 返回 true  false  数组判断   所有的元素都符合

Array.prototype.some()  返回true   false  数组判断   部分元素符合就可以

Array.prototype.reduce()   将一个数组聚合为一个结果   与reduceRight的区别是默认是从数组从左到右   reduceRight是数组从右到左

Array.prototype.reduceRight()

demo:

获取数组的最大值

var arr=[30,40,3,20,10,9,8];

var max=arr.reduce(function(x,y){

return x>y?x:y;

});

可以指定初始化值

var max=arr.reduce(function(x,y){

return x>y?x:y;

},20);

返回数组arr与20只最大的数值

Array.prototype.indexOf()数组检索  可以指定开始检索的位置,第一个参数:需要检测的元素。第二个参数:开始检索的位置

Array.isArray()  isArray是Array构造器上的函数,不是原型prototype上的方法,不能直接使用一个数组进行调用

Array.isArray([]);

 

数组方法 Array.prototype