数组中常用的方法

数组中常用的方法

concat( )

可以连接两个或多个数组,并将新的数组返回

该方法不会对原数组产生影响

var arr = ["苏","槿","年"];
var arr2 = ["李","嘉","图"];
var result = arr.concat(arr2);
console.log(result);
//输出“苏,槿,年,李,嘉,图”

join()

该方法可以将数组转换为一个字符串
该方法不会对原数组产生影响,而是将转换后的字符串作为结果返回
在join()中可以指定一个字符串作为参数,这个字符串将会成为数组中元素的连接符

如果不指定连接符,则默认使用逗号作为连接符

arr = ["苏","槿","年"];
result = arr.join("@");
console.log(result);
//输出“苏@槿@年”

reverse( )

该方法用来反转数组(前边的去后边,后边的去前边)
该方法会直接修改原数组

arr = ["苏","槿","年"];
arr.reverse();
console.log(arr);
//输出“年,槿,苏”

sort()

可以用来对数组中的元素进行排序

也会影响原数组,默认会按照Unicode编码进行排序
即使对于纯数字的数组,使用sort( )排序时,也会按照Unicode编码来排序,
所以对数字进排序时,可能会得到错误的结果

arr = [3,4,11,5,2];
arr.sort();
console.log(arr);
//输出“11,2,3,4,5”

我们可以自己来指定排序的规则
我们可以在sort( )添加一个回调函数,来指定排序规则,
回调函数中需要定义两个形参
浏览器将会分别使用数组中的元素作为实参去调用回调函数
使用哪个元素调用不确定,但是肯定的是在数组中a一定在b前边

浏览器会根据回调函数的返回值来决定元素的顺序,

  • 如果返回一个大于0的值,则元素会交换位置
  • 如果返回一个小于0的值,则元素位置不变
  • 如果返回一个0,则认为两个元素相等,也不交换位置
arr = [7,4,5,9,8,6,3,1,2];
arr.sort(function(a,b)){
         if(a>b){
    return 1;
}else if(a<b){
    return -1;
}else{
    return 0;
}
         });
//输出“1,2,3,4,5,6,7,8,9”

如果需要升序排列,则返回a-b
如果需要降序排列,则返回b-a

posted @ 2022-01-21 21:04  苏槿年  阅读(28)  评论(0编辑  收藏  举报