Js操作数组的基本方法总结

joesen2015年07月09日 16:48 分类 : Web前端  > JavaScript
阅读: 1285

分享到微信朋友圈

Js操作数组的基本方法总结1、push(obj),向数组的末尾添加一个或则多个元素,并返回新的长度。2、pop(),删除并返回数组的最后一个元素。如果数组为空则该方法不进行任何操作,返回undefined。3、shift(),该方法与pop刚好相反,删除并返回数组的第一个元素。如果数组为空则该方法不进行任何操作,返回undefined。

Js 操作数组的基本方法总结


1、(obj), 向数组的末尾添加一个或则多个元素,并返回新的长度。

例如:

var arr = [];

arr.push(1);

alert(arr.push(8.888888,3333));//弹出“ 3 ”,push 多个元素用逗号隔开

arr.push("cherish");

arr.push(new function(){});

for (var i = 0; i < arr.length; i++) {

alert(typeof arr);

}


输出结果:

number

number

string

object


2、pop(),删除并返回数组的最后一个元素。如果数组为空则该方法不进行任何操作,返回 undefined 。

例如:

var arr=[1,2,"cherish"];

alert(arr.pop());//cherish

alert(arr.length);//2


3、shift(),该方法与 pop 刚好相反,删除并返回数组的第一个元素。如果数组为空则该方法不进行任何操作,返回 undefined。

例如:

var arr=[1,2,"cherish"];

alert(arr.shift());//1

alert(arr.length);//2


4、unshift (obj0,obj1,……..), 向数组的开头添加一个或者多个元素,并返回新的数组长度。unshift() 方法将把它的参数插入 arrayObject 的头部,并将已经存在的元素顺次地移到较高的下标处,以便留出空间。该方法的第一个参数将成为数组的新元素 0,如果还有第二个参数,它将成为新的元素 1,以此类推。>注意, unshift() 方法不创建新的创建,而是直接修改原有的数组。


例如:

var arr=[1,2,"cherish"];

alert(arr.unshift());

alert(arr.unshift(new function(){},"first","222"));

alert(arr[0]);


5、sort(), 将数组中的元素按字母顺序排序,排序过程影响原数组。

例如:

var arr = ['emma', 'cherish', 'jacy', 'lily'];

arr.sort();

for (var i = 0; i < arr.length; i++) {

alert(arr);

}


输出结果:cherishemma jacy lily


这种字母排序的方式当元素为数字时会造成一些 bug

var arr1 = [12,101,20,155,9];

arr1.sort();

for (var i = 0; i < arr1.length; i++) {

alert(arr1);

}


输出结果:101 12155 20 9


产生此 bug 的原因是,sort 不关心数组中的内容是数字还是字母,它只是按照字母的字典顺序来排序,关于这种问题,js 提供了另外的一种途径,通过给 sort 方法传递一个函数对象按照该对象提供的排序方法进行排序。

var sortor1=function(a,b){return a-b};//


按数值大小升序

var sortor2=function(a,b){return b-a};//按数值大小降序

将上例中的 arr1.sort(); 改为 arr1.sort(sortor1); 数字即为升序排列,传入 sortor2 则为降序。如果数组中既有数字又有其他类型,则该排序规则只对数字产生作用,如果在没有数字的数组中使用该规则则会打乱原有的字母排序。在此不再举例,大家可以自己试下。

joesen
IT技术整理

精彩评论:0

还可以输入250个字 评论

评论成功

评论失败

 

微信公众号

微博