博主信息
博文 7
粉丝 0
评论 0
访问量 4499
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
JavaScript对象模拟数组
凝思
原创
595人浏览过

JavaScript对象模拟数组

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>JS对象模拟数组</title>
  6. </head>
  7. <body>
  8. <script>
  9. function MyArray() {
  10. this.length = arguments.length;
  11. for(var i=0; i<arguments.length; i++) {
  12. this[i] = arguments[i];
  13. }
  14. this.push = function (s){
  15. this[this.length]=s;
  16. this.length++;
  17. return this.length;
  18. }
  19. this.pop = function (){
  20. var popdata = this[this.length-1];
  21. delete this[this.length-1];
  22. this.length--;
  23. return popdata;
  24. }
  25. this.toString = function (){
  26. var result = "";
  27. var j = ',';
  28. for (var i = 0; i<this.length-1; i++){
  29. result += this[i];
  30. result += j;
  31. }
  32. result += this[i];
  33. return result;
  34. }
  35. this.sort = function sort(arr, flag=true) {
  36. for(var i=0; i<arr.length-1; i++) {
  37. for (var j = 0; j < arr.length-i-1; j++) {
  38. if(flag) {
  39. var swap = arr[j]
  40. if (arr[j] > arr[j + 1]) {
  41. arr[j] = arr[j + 1];
  42. arr[j + 1] = swap;
  43. }
  44. }else{
  45. if (arr[j] < arr[j + 1]) {
  46. arr[j] = arr[j + 1];
  47. arr[j + 1] = swap;
  48. }
  49. }
  50. }
  51. }
  52. return arr;
  53. }
  54. this.max = function arrmax(arr) {
  55. var max = arr[0];
  56. for(var i=0; i<arr.length; i++) {
  57. if(arr[i]>max)
  58. max=arr[i];
  59. }
  60. return max;
  61. }
  62. this.min = function arrmin(arr) {
  63. var min = arr[0];
  64. for(var i=0; i<arr.length; i++) {
  65. if(arr[i]<min)
  66. min=arr[i];
  67. }
  68. return min;
  69. }
  70. this.reverse = function() {
  71. var result = [];
  72. for(var i = 0; i < this.length; i++) {
  73. result[result.length] = this[this.length - i - 1];
  74. }
  75. for(var i = 0; i < result.length; i++) {
  76. this[i] = result[i];
  77. }
  78. return this;
  79. }
  80. }
  81. var arr = new MyArray(1,4,9,3,7)
  82. console.log(arr.push("hello"))
  83. console.log(arr.push("world"))
  84. console.log(arr.toString())
  85. console.log(arr.pop())
  86. console.log(arr.pop())
  87. console.log(arr.sort(arr,true))
  88. console.log(arr.max(arr))
  89. console.log(arr.min(arr))
  90. console.log(arr.reverse())
  91. </script>
  92. </body>
  93. </html>

效果图

对象模拟数组

小知识点

数组对象的push与pop方法分别在数组的尾部添加与删除元素。
sort() 方法用于对数组的元素进行排序。
max()、min()取数组参数中的最大值、最小值

批改老师: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+教程免费学