0%

28 数组的剩余方法

concat()

  • 可以连接两个或多个数组,并将新的数组返回
  • 该方法不会对原数组产生影响
1
2
var result = arr.concat(arr2,arr3,"牛魔王","铁扇公主");
console.log(result);

join()

  • 该方法可以讲数组转换为一个字符串
  • 该方法不会对原数组产生影响,而是将转换后的字符串作为结果返回
  • 在join()中可以指定一个字符串作为参数,这个字符串将会成为数组中元素的连接符
  • 默认用”,”连接数组中的每个元素
  • join后面的括号中是连接符
1
2
3
var result = arr.join("");  //填写空串才是无连接符
var result = arr.join("@-@");
console.log(result);

reverse()

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

sort()

  • 可以用来对数组中的元素进行排序
  • 会修改原数组 默认会按照Unicode编码进行排序
  • 即使对于纯数字的数组,使用sort()也会按照Unicode编码排序
  • 所以对数字进行排序可能会得到错误的结果
1
2
3
var arr = [11,2,4,3];
arr.sort();
console.log(arr); //输出11,2,3,4 错误了!
  • 我们可以在sort()添加一个回调函数,来指定排序规则
    • 回调函数中需要定义两个形参
    • 浏览器会分别使用数组中的元素作为实参去调用回调函数
    • 使用哪个元素调用不确定,但是肯定的是在数组中a一定在b前边
  • 浏览器会根据回调函数的返回值来决定元素的顺序
    sort后面的括号中的值:
    • 如果返回一个大于0的值,则会元素交换位置
    • 如果返回一个小于0,则元素位置不变
    • 如果返回一个0,则两个元素相等,不回交换位置
1
2
3
4
arr = [5,4,7];
arr.sort(function(a,b)){
return a-b; //升序排列,若为b-a为降序排列
}
-------------本文结束感谢您的阅读-------------