08.数组的剩余方法.html 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. <script>
  9. var arr = ["孙悟空", "猪八戒", "沙和尚"];
  10. var arr2 = ["蜘蛛精", "白骨精", "玉兔精"];
  11. var arr3 = ["黑熊精", "老虎精", "蝎子精"];
  12. /*
  13. concat()可以连接两个或多个数组,并将新的数组返回
  14. -该方法不会对原数组产生影响
  15. -不仅可以传数组,还可以传单个的元素
  16. */
  17. // var result = arr.concat(arr2,arr3);
  18. // var result = arr.concat(arr2,"牛魔王","海龙王");
  19. // console.log(result);
  20. /*
  21. jion()
  22. -该方法可以将数组转换为一个字符串
  23. -该方法不会对原数组产生影响,而是将转换后的字符串作为结果返回
  24. -在jion()中,可以指定一个字符串作为参数,这个字符串将会成为数组中元素的连接符
  25. 如果不指定连接符,则默认使用逗号“,”连接
  26. 如果不想使用任何连接符(包括逗号),可以传一个空串""
  27. */
  28. // var arr = ["孙悟空", "猪八戒", "沙和尚"];
  29. // var result = arr.join();
  30. // console.log(result);
  31. // console.log(typeof result);
  32. // var result = arr.join("hello");//未指定连接符,则默认为逗号连接
  33. // console.log(result);
  34. // console.log(typeof result);
  35. /*
  36. reverse()
  37. -该方法用来反转数组(前边的去后边,后边的去前边)
  38. -该方法会直接修改原数组
  39. */
  40. // var arr = ["孙悟空", "猪八戒", "沙和尚"];
  41. // arr.reverse();
  42. // console.log(arr);
  43. /*
  44. sort()
  45. -可以用来对数组中的元素进行排序
  46. -该方法也会影响原数组,默认会按照Unicode编码进行排序
  47. */
  48. // var arr = ["b","d","a","e","c"];
  49. // arr.sort();
  50. // arr.reverse();
  51. // console.log(arr);
  52. /*
  53. 即使对于纯数字的数组,使用sort()排序时,也会按照Unicode编码来进行排序
  54. 所以对数字进行排序时,可能会得到错误的结果。
  55. */
  56. // var arr = [3, 4, 11, 2, 5];
  57. // arr.sort();
  58. // console.log(arr);
  59. /*
  60. 我们可以自己来指定排序的规则
  61. 我们可以在sort()中添加一个回调函数,来指定排序规则,
  62. 回调函数中需要定义两个形参,
  63. 浏览器将会分别使用数组中的元素作为实参去调用回调函数
  64. 使用哪个元素调用不确定,但是肯定的是在数组中a一定在b前边。
  65. ********** -浏览器会根据回调函数的返回值来决定元素的顺序,
  66. ******** 如果返回一个大于0的值,则元素会交换位置(大于0不变)
  67. ******** 如果返回一个小于0的值,则元素位置不变(小于0变换位置)
  68. ******** 如果返回一个0,则认为两个元素相等,也不交换位置
  69. -如果需要升序排列,则返回a-b,
  70. 如果需要降序排列,则返回b-a
  71. */
  72. arr = [3, 4, 11, 2, 5];
  73. // arr.sort(function(a,b){
  74. // //前边的大
  75. // if(a>b){
  76. // return 1;
  77. // }else if(a<b){
  78. // return -1;
  79. // }else{
  80. // return 0;
  81. // }
  82. // });
  83. // console.log(arr);
  84. //以上是升序排列,要降序排列,只需交换±1的位置即可
  85. arr = [3, 4, 11, 2, 5];
  86. arr.sort(function(a,b){
  87. // return a-b;//升序排列
  88. return b-a;//降序排列
  89. });
  90. console.log(arr);
  91. </script>
  92. </head>
  93. <body>
  94. </body>
  95. </html>