欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

模拟数组pop,push,toString和冒泡排序(sort的使用)

程序员文章站 2022-03-13 13:55:28
...

图片展示

模拟数组pop,push,toString和冒泡排序(sort的使用)

代码展示

  1. <script>
  2. //创建一个对象
  3. function MaArray(){
  4. this.length=arguments.length;
  5. for(var i=0;i<arguments.length;i++){
  6. this[i]=arguments[i];
  7. }
  8. //插入
  9. this.push=function(s){
  10. this[this.length]=s;
  11. this.length++;
  12. return this.length;
  13. }
  14. this.pop=function(){
  15. var popdata=this[this.length-1];
  16. delete this[this.length-1];
  17. this.length--;
  18. return popdata;
  19. }
  20. this.toString=function(){
  21. var result="";
  22. var j=',';
  23. for(var j=0;j<this.length-1;j++){
  24. result+=this[j];
  25. result+=j;
  26. }
  27. result+=this[j];
  28. return result;
  29. }
  30. //最大值
  31. this.max = function () {
  32. var max = this[0];
  33. for (var i = 1; i < this.length; i++) {
  34. if (this[i] > max) {
  35. max = this[i];
  36. }
  37. }
  38. return max;
  39. }
  40. //最小值
  41. this.min = function () {
  42. var min = this[0];
  43. for (var i = 1; i < this.length; i++) {
  44. if (this[i] < min) {
  45. min = this[i]
  46. }
  47. }
  48. return min;
  49. }
  50. this.sort=function(){
  51. //定义x用于替换
  52. var x=0;
  53. //外层循环,控制趟数,每一次找到一个最大值
  54. for(var i=0;i<this.length-1;i++){
  55. // 内层循环,控制比较的次数,并且判断两个数的大小
  56. for(var j=0;j<this.length-1-i;j++){
  57. //从小到大的冒泡排序
  58. if(this[j]>this[j+1]){
  59. x=this[j];
  60. this[j]=this[j+1];
  61. this[j+1]=x;
  62. }
  63. }
  64. }
  65. return this;
  66. }
  67. }
  68. var arr=new MaArray(11,3,55,88,99,5,'abc');
  69. console.log(arr);
  70. console.log(arr.push('cs'));
  71. console.log(arr.pop());
  72. console.log(arr.max());
  73. console.log(arr.min());
  74. console.log(arr.sort());
  75. </script>