博主信息
博文 119
粉丝 3
评论 1
访问量 121187
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
JS 对象模拟数组
赵大叔
原创
859人浏览过

使用js对象模拟数组代码

  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>对象模拟数组</title>
  8. </head>
  9. <body>
  10. </body>
  11. </html>
  12. <script>
  13. function MyArr() {
  14. // arguments压缩可变数量参数为一个类数组
  15. this.length = arguments.length;
  16. for(var i = 0; i < arguments.length; i++) {
  17. this[i] = arguments[i];
  18. }
  19. // 1、新元素将添加在数组的末尾,并返回新的长度
  20. this.push = function (item){
  21. this[this.length] = item;
  22. this.length++;
  23. return this.length;
  24. }
  25. // 2、删除数组的最后一个元素并返回删除的元素
  26. this.pop = function (){
  27. var popArr = this[this.length - 1];
  28. delete this[this.length - 1];
  29. this.length--;
  30. return popArr;
  31. }
  32. // 3、返回表示Integer值的String对象
  33. this.toString = function (){
  34. var result = "";
  35. var j = ',';
  36. for (var i = 0; i < this.length - 1; i++){
  37. result += this[i];
  38. result += j;
  39. }
  40. result += this[i];
  41. return result;
  42. }
  43. // 4、对数组的元素进行排序:正序和倒序
  44. this.sort = function sort(arr, flag = true) {
  45. for(var i = 0; i < arr.length - 1; i++) {
  46. for (var j = 0; j < arr.length - i - 1; j++) {
  47. if(flag) {
  48. if (arr[j] > arr[j + 1]) {
  49. var swap = arr[j];
  50. arr[j] = arr[j + 1];
  51. arr[j + 1] = swap;
  52. }
  53. }else{
  54. if (arr[j] < arr[j + 1]) {
  55. var swap = arr[j];
  56. arr[j] = arr[j + 1];
  57. arr[j + 1] = swap;
  58. }
  59. }
  60. }
  61. }
  62. return arr;
  63. }
  64. // 5、返回数组参数中的最大值
  65. this.max = function arrmax(arr) {
  66. var max = arr[0];
  67. for(var i = 0; i < arr.length; i++) {
  68. if(arr[i] > max)
  69. max = arr[i];
  70. }
  71. return max;
  72. }
  73. // 6、返回数组参数中的最小值
  74. this.min = function arrmin(arr) {
  75. var min = arr[0];
  76. for(var i = 0; i < arr.length; i++) {
  77. if(arr[i]< min)
  78. min = arr[i];
  79. }
  80. return min;
  81. }
  82. // 7、反转数组中元素的顺序
  83. this.reverse = function() {
  84. var result = [];
  85. for(var i = 0; i < this.length; i++) {
  86. result[result.length] = this[this.length - i - 1];
  87. }
  88. for(var i = 0; i < result.length; i++) {
  89. this[i] = result[i];
  90. }
  91. return this;
  92. }
  93. }
  94. var arr = new MyArr(11,3,55,88,99,"aaa");
  95. // 添加在数组的末尾
  96. console.log(arr.push("help"));
  97. // 删除数组的最后一个元素
  98. console.log(arr.pop());
  99. // Integer值的String对象
  100. console.log(arr.toString());
  101. // 输出结果是开头第一个的元素
  102. console.log(arr[0]);
  103. // 排序:true时为正序,false时为倒序
  104. console.log(arr.sort(arr, false));
  105. // 返回数组参数中的最大值
  106. console.log(arr.max(arr));
  107. // 返回数组参数中的最小值
  108. console.log(arr.min(arr));
  109. // 反转数组中元素的顺序
  110. console.log(arr.reverse());
  111. </script>

打印结果

批改老师:PHPzPHPz

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学