前端对数组的基本操作函数

一,slice

arrayObject.slice(start,end):从已有的数组中返回选定的元素。

操作:从原来的数组中选取元素。

返回值:选定的元素重新组成的数组。

注意:

1,返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。

2,start(必需)。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。

3,end(可选)。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

4,可用来复制数组,筛选需要的数组元素。

二,push

arrayObject.push(newelement1,newelement2,....,newelementX):push()方法可向数组的末尾添加一个或多个元素,并返回新的长度。

操作:操作原数组末尾,直接在原数组的末尾进行元素添加。

返回值:返回修改后的数组的新长度。

注意:

1,push() 方法可把它的参数顺序添加到 arrayObject 的尾部。

2,它直接修改 arrayObject,而不是创建一个新的数组。

3,push() 方法和 pop() 方法使用数组提供的先进后出栈的功能。

三,unshift

arrayObject.unshift(newelement1,newelement2,....,newelementX):nshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。

操作:直接操作原数组的开头,将参数顺序的加入原数组的开始位置,并将后面的元素向后移动。

返回值:返回修改后的原数组的新长度。

注意:

1,unshift() 方法不创建新的创建,而是直接修改原有的数组,该方法会改变数组的长度。

2,unshift() 方法无法在 Internet Explorer 中正确地工作!

四,pop

arrayObject.pop():pop()方法用于删除数组的最后一个元素,原数组长度减一,并将删除的该元素作为返回值返回。

操作:删除调用数组的最后一个元素,原数组长度减一,并返回删除的该元素。

返回值:原数组被删除的元素值。

注意:

1,若原数组已经为空,则pop()不改变数组,并返回undefined值。

2,pop直接操作原数组,原数组长度会改变。

五,shift

arrayObject.shift():shift() 方法用于把数组的第一个元素从其中删除,并返回原数组被删除的元素的值。

操作:删除原数组的第一个元素,并将该元素作返回值。

返回值:原数组被删除的元素。

注意:

1,如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。

2,该方法会改变数组的长度。

六,concat

arrayObject.concat(arrayX,arrayX,......,arrayX):将参数数组作为参数添加到调用数组中,添加的不是参数数组而是参数数组的元素,顺序添加。

操作:不会改变原数组,会在原数组的副本中添加参数数组,并将添加后的原数组副本作为返回值。

返回值:添加参数数组元素之后原数组副本作为返回值。

注意:

1,原数组不改变,只会在原数组的副本中添加参数数组,并作为返回值。

2,参数可以是元素、多个元素、数组、多个数组。

七,splice

arrayObject.splice(index,howmany,item1,.....,itemX):删除(或者添加)从index开始的howmany个元素,用itemx来对删除的元素进行替换。

操作:index(包含index)决定操作起始位置,删除或者是添加,当howmany为0则不是删除,则从index开始依次添加itemx。

返回值:若是howmany不为0,则执行删除操作,splice函数返回值是删除的元素组成的数组。若是howmany为0,则返回值是空数组。

八,reverse

arrayObject.reverse():reverse() 方法用于颠倒数组中元素的顺序。

操作:直接操作原数组的元素。

返回值:整个原数组取反之后的原数组。

注意:直接改变原数组,不会创建新数组。

九,sort

arrayObject.sort(sortby):sort() 方法用于对数组的元素进行排序。

操作:sortby规定排序顺序,必须是函数。直接在原数组进行排序操作,不生成副本。

返回值:操作后的原数组。

注意:
如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值。

例如:
var A = [1,2,3,4,5];
var fruits = A.sort(function(a,b){
//return a - b; //从小到大
return b-a; //从大到小
})
console.log(A);//[5,4,3,2,1]

十,join

arrayObject.join(separator):join() 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。

操作:将原数组的元素组合成一个字符串输出,以某个分隔符作为连接,若是参数缺省,则分隔符默认为‘,’。

返回值:将原数组以参数为分隔符组合输出为字符串,该字符串为返回值。

注意:

ES5新增的一些数组方法

十一,

猜你喜欢

转载自www.cnblogs.com/yu-tang/p/12112421.html