排序完了不知道要返回数组还是对象,先这样吧

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>object</title>
  6. </head>
  7. <body>
  8. <script>
  9. function myArray() {
  10. this.length = arguments.length;
  11. this.arr = []
  12. for (var i = 0; i < this.length; i++) {
  13. this[i] = arguments[i];
  14. this.arr[i] = arguments[i]; //也可以把数组转到一个单独的属性里去操作
  15. }
  16. this.sort = function (order) {
  17. var a = this.arr[0];
  18. var b = this.arr[1];
  19. var desc = order(a, b) > 0 ? true : false;
  20. for (var i=0;i<this.length;i++) {
  21. for (var j = 0; j < this.length - 1 - i; j++) {
  22. if (desc) {
  23. if (this[j] < this[j + 1]) {
  24. var min = this[j];
  25. this[j] = this[j + 1];
  26. this[j + 1] = min;
  27. }
  28. } else {
  29. if (this[j] > this[j + 1]) {
  30. var max = this[j];
  31. this[j] = this[j + 1];
  32. this[j + 1] = max;
  33. }
  34. }
  35. }
  36. }
  37. return this;
  38. }
  39. this.reverse = function () {
  40. var arrReversed = [];
  41. var j = 0;
  42. for (var i = this.length - 1; i >= 0; i--) {
  43. arrReversed[j] = this[i];
  44. j++;
  45. }
  46. return arrReversed;
  47. }
  48. this.max = function () {
  49. var max = this[0];
  50. for (var i = 1; i < this.length; i++) {
  51. if (this[i] > max) {
  52. max = this[i];
  53. }
  54. }
  55. return max;
  56. }
  57. this.min = function () {
  58. var min = this[0];
  59. for (var i = 1; i < this.length; i++) {
  60. if (this[i] < min) {
  61. min = this[i]
  62. }
  63. }
  64. return min;
  65. }
  66. }
  67. var arrObj = new myArray(1, 3, 5, 7, 2, 4, 6, 8);
  68. var sortedArr = arrObj.sort(function (a, b) {
  69. return a - b;
  70. })
  71. console.log(sortedArr);
  72. console.log(arrObj.reverse());
  73. console.log(arrObj.max());
  74. console.log(arrObj.min());
  75. </script>
  76. </body>
  77. </html>

更多相关文章

  1. JavaScript 实现简单数组排序,翻转,取较大值和较小值
  2. md5加密与数组函数
  3. 商城实战项目
  4. 为什么说for...of是JS中的一颗宝石
  5. MongoDB 排序内存超过 32M 限制
  6. 剖析Elasticsearch的IndexSorting:一种查询性能优化利器
  7. 实现数组去重的 9 种高阶方法
  8. php多维数组创建及遍历
  9. json数据类型,安装MySQL

随机推荐

  1. Android在设置里面添加新功能的方法
  2. 关于android:focusable属性
  3. [AndroidTips]Android预定义样式
  4. 基于百度地图API的Android公交换乘导航
  5. Android API Level对应Android版本一览表
  6. Unable to resolve target 'android-5'
  7. USB UMS MTP设置过程 (二) UsbDeviceManage
  8. Android(安卓)Launcher研究
  9. ConstraintLayout 使用可视化的方式来编
  10. Android(安卓)Input Event Dispatching