<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>数组的剩余方法</title>
<script type="text/javascript">
var arr = ["孙悟空","猪八戒","沙和尚"];
var arr2 = ["白骨精","玉兔精","蜘蛛精"];
var arr3 = ["二郎神","牛魔王"];
/*
concat()可以连接两个或多个数组,并将新的数组返回
- 该方法不会对原数组产生影响
- 参数可以放多个数组
- 参数还可以是多个元素
*/
var result = arr.concat(arr2,arr3,"灰太狼");
console.log(result);
/*
join()
- 该方法可以将数组转换为一个字符串
- 该方法不会对原数组产生影响,而是将转换后的字符串作为结果返回
- 在join()中可以指定一个字符串作为参数,这个字符串将会成为数组中元素的连接符
如果不指定连接符,则默认使用,作为连接符
*/
result = arr.join();
console.log(result);//孙悟空,猪八戒,沙和尚
console.log(typeof result);//string
result = arr.join("-");
console.log(result);//孙悟空-猪八戒-沙和尚
/*
reverse()
- 该方法用来反转数组(前边的去后边,后边的去前边)
- 该方法会直接修改原数组
*/
var arr4 =[1,2,3,4,5,6];
arr4.reverse();
console.log(arr4);// [6, 5, 4, 3, 2, 1]
/*
sort()
- 可以用来对数组中的元素进行排序
- 会影响原数组,默认会按照Unicode编码进行排序
*/
var arr5 = ["d","c","a","b"];
var arr6 = [7,2,11,3];
arr5.sort();
arr6.sort();
console.log(arr5);//["a", "b", "c", "d"]
/*
即使对于纯数字的数组,使用sort()排序时,也会按照Unicode编码来排序,所以对数字进排序时,可能会得到错误的结果
*/
console.log(arr6);//[11, 2, 3, 7]
/*
我们可以自己来指定排序的规则
我们可以在sort(),添加一个回调函数,来指定排序规则
回调函数中需要定义两个形参,
浏览器将会分别使用数组中的元素作为实参去调用回调函数
使用哪个元素调用不确定,但是肯定的是在数组中a一定在b前边
- 浏览器会根据回调函数的返回值来决定元素的顺序,
如果返回一个大于0的值,则元素会交换位置
如果返回一个小于0的值,则元素位置不变
如果返回一个0,则认为两个元素相等,也不交换位置
*/
var arr7 = [7,2,11,3,33,831,6,28];
arr7.sort(function(a,b){
//console.log("a = "+a);
//console.log("b = "+b);
//如果前面的元素大于后面的元素,则返回大于0的数,则会交换位置
/* if(a>b){
return 1;
} */
//升序排列
// return a - b;
//降序排列
return b - a;
});
console.log(arr7);
</script>
</head>
<body>
</body>
</html>
70.数组的剩余方法
最新推荐文章于 2022-09-13 22:20:53 发布