concat() 连接数组

  • 连续两个或更多的数组,并返回结果
  • 也可以直接传入元素
    1. var arr = ['孙悟空', '猪八戒', '沙和尚', '唐僧'];
    2. var arr2 = ["白龙马","白骨精"];
    3. var result = arr.concat(arr2,"hello","world"); // 传入了数组和元素
    4. console.log(result); // [ "孙悟空", "猪八戒", "沙和尚", "唐僧", "白龙马", "白骨精", "hello", "world" ]

join() 将数组转换为字符串,通过分隔符分割

  • 把数组的所有元素放入一个字符串,元素通过指定的分隔符进行分割
  • 不会对原数组产生影响,而是将转换后的字符串作为结果返回
  • 在 join() 中可以指定一个字符串作为参数,这个字符串将会称为数组中元素的连接符
    • 如果不指定连接符,则默认使用 , 作为连接符
      1. var arr = ['孙悟空', '猪八戒', '沙和尚', '唐僧'];
      2. var result = arr.join("*");
      3. console.log(result); // 孙悟空*猪八戒*沙和尚*唐僧

reverse() 颠倒数组中元素的顺序

  • 颠倒数组中元素的顺序(前边的去后边,后边的去前边)
  • 该方法会直接修改原数组
    1. var arr = ['孙悟空', '猪八戒', '沙和尚', '唐僧'];
    2. arr.reverse();
    3. console.log(arr); // [ "唐僧", "沙和尚", "猪八戒", "孙悟空" ]

sort() 数组排序

  • 对数组中的元素进行排序
  • 会影响原数组,默认按照 Unicode编码进行排序

    1. var arr = ['孙悟空', '猪八戒', '沙和尚', '唐僧'];
    2. // var arr = ["d","c","b","a"];
    3. // var arr = [5,4,3,2,1,12];
    4. arr.sort();
    5. console.log(arr); // [ "唐僧", "孙悟空", "沙和尚", "猪八戒" ]

    即使对于纯数字的数组,使用 sort()排序时,也会按照 Unicode编码进行排序

    1. var arr = [5,4,3,2,1,12];
    2. arr.sort();
    3. console.log(arr); // [ 1, 12, 2, 3, 4, 5 ]

    可以自己来定义排序的规则

  • 在 sort() 添加一个回调函数,来指定排序规则,

  • 回调函数需要定义两个形参,
  • 浏览器会分别使用数组中的元素作为实参去调用回调函数
  • 使用哪个元素调用不确定,但是肯定的是在数组中 a 一定在 b 前边 ```javascript var arr = [5,4,3,2,1,12]; arr.sort(function(a,b){

}); console.log(arr);

  1. 浏览器会根据回调函数的返回值来决定元素的顺序
  2. - 如果返回一个大于 0 的值,则元素会交换位置
  3. - 如果返回一个小于 0 的值,则元素位置不变
  4. - 如果返回一个 0,则认为两个元素相等,也不交换位置
  5. ```javascript
  6. var arr = [5,4,3,2,1,12];
  7. arr.sort(function(a,b){
  8. // 升序
  9. return a - b;
  10. });
  11. console.log(arr); // [ 1, 2, 3, 4, 5, 12 ]
var arr = [5,4,3,2,1,12];
arr.sort(function(a,b){
  // 降序
  return b - a;
});
console.log(arr);  // [ 12, 5, 4, 3, 2, 1 ]

升序

  • a - b

降序

  • b - a