博客列表 >对象模拟数组

对象模拟数组

浅若夏沫
浅若夏沫原创
2021年11月22日 17:24:31629浏览
  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. </head>
  9. <body>
  10. <script>
  11. function MyArray() {
  12. this.pop=function (){
  13. var popData=this[this.length-1];
  14. delete this[this.length-1];
  15. this.length --;
  16. return popData;
  17. }
  18. this.push = function (){
  19. for (i=0;i<arguments.length;i++){
  20. this[this.length]=arguments[i];
  21. this.length++;
  22. }
  23. return this.length;
  24. }
  25. this.Sort=function (array,sort='asc') {
  26. var max = null;
  27. for(var i=0; i<array.length-1;i++ ){
  28. for(var j=0; j<array.length-1;j++){
  29. //升序
  30. if(sort==='asc'){
  31. //当前 数 和 后一个数对比
  32. if(array[j] > array[j+1]){
  33. max=array[j]; //把较大的数赋值给max
  34. array[j]=array[j+1];//较小的数排列到前面
  35. array[j+1]=max;//较大的数排列到后面
  36. }
  37. //降序
  38. }else{
  39. //当前数和后一个数对比
  40. if(array[j] < array[j+1]){
  41. max=array[j+1];
  42. //较小的数放到后面
  43. array[j+1]=array[j];
  44. //大的数放到前面
  45. array[j]=max;
  46. }
  47. }
  48. }
  49. }
  50. return arguments[0]=array;
  51. }
  52. this.Reverse=function () {
  53. var newArray= new Array();
  54. for(var i=0;i<=arguments[0].length-1;i++){
  55. newArray[i]=arguments[0][arguments[0].length-(i+1)]
  56. }
  57. return newArray;
  58. }
  59. this.Max=function(){
  60. var array =arguments[0];
  61. var max= array[0];
  62. for(var i=0;i<array.length;i++){
  63. if(array[i] > max){
  64. max= array[i];
  65. }
  66. }
  67. return max ;
  68. }
  69. this.Min=function () {
  70. var array =arguments[0];
  71. var min= array[0];
  72. for(var i=0;i<array.length;i++){
  73. if(array[i] < min){
  74. min= array[i];
  75. }
  76. }
  77. return min ;
  78. }
  79. }
  80. var arr = new MyArray();
  81. var a= [1,5,4,10,9,8];
  82. console.log(arr.Sort(a,'asc'));//排序
  83. console.log(arr.Reverse(a));//反转
  84. console.log(arr.push(3,5,"e"));
  85. console.log(arr.pop());
  86. console.log(arr.Max(a));//最大
  87. console.log(arr.Min(a));//最小
  88. </script>
  89. </body>
  90. </html>

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议
浅若夏沫2021-11-22 17:26:441楼
尽力了,只能这样了,⊙︿⊙