这些数组方法会改变原数组:unshift();push();shift();pop();sort(); reverse();splice();
1、concat()
功能:合并数组
用法:数组1.cantat(数组2)
案例:
var
str1 = [20,18,"hi"
];
var
str2 = [
"world"
];
console.log(str1.concat(str2)); //[20,18,"hi", "world"]
console.log(str1);//[20,18,"hi"];
2、join()
功能:将数组转换为字符串,()中用双引号包括自己想用的分隔符,默认为逗号;
用法:数组.join("/")
案例:
var
str = [20,18,"hi"
];
console.log(str.join(str)); // 20/18/hi
console.log(str);//[20,18,"hi"];
3、pop()
功能:删除数组的最后一位,并返回删除的数据;
用法:数组.pop()
案例:
var
str = [20,18,"hi"
];
console.log(str.pop()); // hi
console.log(str);//[20,18];
4、shift()
功能:删除数组的第一位数据,并返回删除的数据;
用法:数组.shift()
案例:
var
str = [20,18,"hi"
];
console.log(str.shift()); // 20
console.log(str);//[18,"hi"];
5、unshift()
功能:在数组的首位新增一条或多条数据,并返回新数组的长度
用法:数组.unshift()
案例:
var str = [12,'who'];
console.log(str.unshift('hi')) //3
console.log(str) //['hi',12,'who']
6、push()
功能:在数组的最后一位新增一条或多条数据,并返回新数组的长度
用法:数组.push()
案例:
var str = [12,'who'];
console.log(str.push('hi')) //3
console.log(str) // [12,'who','hi']
7、reverse()
功能:将数组倒序,并返回反转后的数组
用法:数组.reverse()
案例:
var str = [12,'who'];
console.log(str.reverse()) //['who',12]
console.log(str) // ['who',12]
8、sort()
功能:对数组内的数据进行排序(默认为升序),并返回排序后的数组。这里的排序是对字符的排序,先使用数组的toString()方法转换成字符串,再逐位比较,3是大于12的,因为首位3>1,不要与Number型的数据排序混淆。
但要是想按照数值排序,需要传参,sort(callback),callback作为回调函数,该函数应该具有两个参数,比较这两个参数,然后返回一个用于说明这两个值的相对顺序的数字(a-b)。
返回值:若a<b,返回一个小于0的值;若a=b,则返回0;若a>b,则返回一个大于0的值
用法:数组.sort()
案例:
字符排序
var str = [5,23,9,3,73,22,'hi','banner','apple'];
console.log(str.sort())//[22,23,3,5,73,9,'apple','banner','hi']
数值排序
var str = [78,3,87,9,10,27,42];
console.log(str.sort(fn)); //[3,9,10,27,42,78,87]
function fn(a,b){
return a-b;
}
9、slice() 前要后不要
功能:截取指定位置的数组,并且返回截取的数组,不会改变原始数组。有两个参数。
用法:数组.slice(start,end)
参数:start包含 end不包含 [start,end)
start 可选。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。如果该参数为负数,则表示从原数组中的倒数第几个元素开始提取,slice(-2) 表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)。
end 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果该参数为负数, 则它表示在原数组中的倒数第几个元素结束抽取。 slice(-2,-1) 表示抽取了原数组中的倒数第二个元素到最