join()
arr.join(strs);
strs表示分割数组的分隔符;如果不传参,数组变成字符串。
调用方式:
var arr = ['a',21,'sdff'];
console.log(arr);//['a',21,'sdff']
var arr2 = arr.join();
console.log(arr2);//a,21,sdff
var arr3 = arr.join('-');
console.log(arr3);//a-21-sdff
pop()
移除数组中的最后一个元素并返回这个元素,改变原数组
格式:
arr.pop();
若数组为空,则返回undefined
调用方式:
var arr = ['a',21,'sdff'];
var arr2 = arr.pop();
console.log(arr);//['a',21]
console.log(arr2);//sdff
var arr4 = [];
var arr3 = arr4.pop();
console.log(arr4);//[]
console.log(arr3);//undefined
shift()
移除数组中的第一个元素并返回这个元素,改变原数组
格式:
arr.shift();
若数组为空,则返回undefined
调用方式:
var arr = ['a',21,'sdff'];
var arr2 = arr.shift();
console.log(arr);//[21,'sdff']
console.log(arr2);//a
var arr4 = [];
var arr3 = arr4.shift();
console.log(arr4);//[]
console.log(arr3);//undefined
push()
向数组的末尾添加一个元素,返回该数组的新长度,改变原数组
格式:
arr.push(str);
strs是必传参数,表示要添加的元素。
调用方式:
var arr = ['a',21,'sdff'];
var arr2 = arr.push();
console.log(arr);//["a", 21, "sdff"]
console.log(arr2);//3
var arr4 = ['a',21,'sdff'];
var arr3 = arr4.push("haha");
console.log(arr4);//["a", 21, "sdff", "haha"]
console.log(arr3);//4
var arr5 = arr4[10].push("xixi");//报错
slice()
从指定数组中返回选定的从start到end的元素组成的新数组,不对原数组修改
格式:
arr.slice(start,end);
start必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1指最后一个元素,-2指倒数第二个元素,以此类推。
end可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
调用方式:
var arr = ['a',21,'sdff'];
console.log(arr);//["a", 21, "sdff"]
console.log(arr.slice());//["a", 21, "sdff"]
var arr4 = ['a',21,'sdff',"lalala",34];
console.log(arr4);//["a", 21, "sdff", "lalala", 34]
console.log(arr4.slice(2,4));//["sdff", "lalala"]
console.log(arr4.slice(-1));//34
console.log(arr4.slice(-4,-1));//[21, "sdff", "lalala"]
splice()
用于对数组的删除、替换、插入,返回被删除的元素组成的数组。改变原数组
格式:
arr.splice(index,howmany,item1,.....,itemX)
index必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item可选。向数组添加的新项目,补替在被删除的位置
调用方式:
var arr4 = ['a',21,'sdff',"lalala",34];
var newarr1 = arr4.splice(2);
console.log(arr4);//["a", 21]
console.log(newarr1);//["sdff", "lalala",34]
var arr5 = ['a',21,'sdff',"lalala",34];
var newarr2 = arr5.splice(2,1,'NEW')
console.log(arr5);//["a", 21, "NEW", "lalala", 34]
console.log(newarr2);//["sdff"]
forEach()
遍历数组。对IE678不兼容
格式:
arr.prototype.forEach(finction(){});
sort()
排序
格式:
arr.sort();
不传参时,默认先比较第一位的Unicode码,从小到大排列,若第一位相同,比较第二位,以此类推。
传参时,参数为函数,这里列举一个从小到大的举例:
function fn(a,b){
return a-b;
}
//a-b:从小到大排列
//b-a:从大到小排列
调用方式:
var arr = [20,10,2,1,4];
s = arr.sort();//[1,10,2,20,4]
s = arr.sort(fn);//[1,2,4,10,20]
reverse()
对当前数组序列进行逆序
格式:
arr.reverse();