数组的方法
1. concat() 连接两个或多个数组
不会对原数组产生影响
var result = arr.concat(arr2); //定义新的数据来接收返回结果
可以传数组或元素
var result = arr.concat(arr2,”hello”,”ss”)
2. join() 将数组转换为一个字符串
不会对原数组产生影响
var result = arr.join();
在join()中可以指定一个字符串作为参数,这个字符串将会成为数组中元素的连接符
不传值的话,结果使用,隔开;
var arr = ["孙悟空","猪八戒","沙和尚","唐僧"];
var result = arr.join();
console.log(result); // "孙悟空,猪八戒,沙和尚,唐僧"
var result = arr.join(“-”);
console.log(result); // "孙悟空-猪八戒-沙和尚-唐僧"
3. reverse() 反转数组的顺序
方法会直接修改原数组,反转原数组(前边的变后边,后边的换前边)
var arr = [2, 3, 8, 4, 9];
arr.reverse();
console.log(arr); //9, 4, 8, 3, 2
4. sort() 对数组的元素进行排序
方法会直接修改原数组
默认按Unicode编码排序
var arrWord = ["b","z","h","l","c"];
arrWord.sort();
console.log(arrWord); //"b","c","h","l","z"
即使对纯数字的数组,使用sort()排序时,也会按照Unicode编码来排序
所以对数字进行排序时,可能会得到错误的结果
我们可以自己指定排序的规则,通过添加一个回调函数
回调函数中有两个形参,浏览器将会分别使用数组中的元素作为形参去调用回调函数
浏览器会根据回调函数的返回值来决定元素的顺序,
如果返回一个大于0的值,则元素会交换位置
如果返回一个小于0的值,则元素不会交换位置
如果返回一个0,也不交换位置
如果升序排列 return a-b 降序排列 return b-a
var arrNumber = [5,8,9,1,7,2,5,3,4];
arrNumber.sort(function(a,b){
// if(a>b) return 1;
// else if(a<b) return -1;
// else return 0;
// 升序排列
return a-b
// 降序排列
// return b-a
})
console.log(arrNumber); //1, 2, 3, 4, 5, 5, 7, 8, 9
参考:尚硅谷李立超老师