数组方法push、pop、shift、unshift、join、splice、sort、reverse、concat的作用
1. push和pop
push和pop在数组的尾部进行操作
var arr = ["a","b","c"];
var x = arr.push("d");
x的值为4,为执行push操作后数组的大小;
x = arr.pop();
x的值为"d",执行pop操作后,返回被弹出的数据;
2. shift和unshift
shift和unshift在数组的头部进行操作
var arr = ["a","b","c"];
var x = arr.shift();
x的值为"a",执行shift操作后,数组弹出原第一个值,同时原数组的size减小1;如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined
x = arr.unshift("h");
x的值为3,实行unshift操作后,将"h"插入到数组头部,数组大小变为3;arr的值变为["h","b","c"]
3. join
join() 方法用于把数组中的所有元素放入一个字符串,在括号中输入分割各元素的分割符,格式为string;如果不填,缺省为","。
var arr = ["a","b","c"];
var x = arr.join("=-=");
x的值为"a=-=b=-=c"
4. splice
splice是对数组进行替换的操作,最少必须填2个参数;第一个参数是操作的起始位置,为number类型;第二个参数是需要删除的项数,为number类型,小于0时当0处理,等于0时表示不删除元素;第3至n参数,为要在操作位置插入的元素,可以不填写。
var arr = ["a","b","c"];
var x = arr.splice(1,0,"heh");
x的值为splice操作删除的元素的数据,因为在此处是空数组;在位置1处插入字符串,arr的值为["a", "heh", "b", "c"]
var arr = ["a","b","c"];
var x = arr.splice(1,1,"heh");
x的值为splice操作删除的元素的数据,因为在此处是["b"];在位置1处插入字符串,arr的值为["a", "heh","c"]
5. sort()
sort操作是对数据进行排序的操作;
var arr = [14,3,6,5,7,2,1,10];
var x = arr.sort();
它有默认的比较方法,将元素转化为string后进行比较。
x的值为排序后的数组,x和arr指向同一块内存;结果为 [1, 10, 14, 2, 3, 5, 6, 7]
var arr= [
{ 'sortNo': 2},
{ 'sortNo': 1},
{ 'sortNo': 5},
{ 'sortNo': 6},
{ 'sortNo': 7},
{ 'sortNo': 3},
{ 'sortNo': 9},
{ 'sortNo': 4},
{ 'sortNo': 0}
];
arr.sort(function(a, b){
return a.sortNo - b.sortNo;
});
sort方法还可以自己编写比较规则,作为参数传递到sort方法;
6. reverse
reverse方法用于颠倒数组中元素的顺序,该方法会改变原来的数组,而不会创建新的数组。
var arr = ["a","b","c"];
var x = arr.reverse();
x的值为倒序后的数组,x和arr指向同一块内存;结果为 ["c", "b", "a"];
7. concat
concat方法用于连接两个或多个数组,该方法不会改变现有的数组,会返回一个新的数据。
var arr = ["a","b","c"];
var x = arr.concat("hehe");
var x1 = arr.concat("22","33");
参数可以直接是数组内的元素。x,x1是返回的新数组,结果为 ["a", "b", "c", "hehe"],x1的值为["a", "b", "c", "22","33"],arr的值为 ["a","b","c"];
var y = arr.concat(["h1","h2"]);
参数可以直接是数组。y是返回的新数组,结果为["a", "b", "c", "h1", "h2"],arr的值为 ["a","b","c"];
var z = arr.concat("t1",["r","s"]);
参数可以是数组和元素的混合。z是返回的新数组,结果为["a", "b", "c", "t1", "r", "s"],arr的值为 ["a","b","c"];
网友评论