JavaScript思维导图——Day 11(数组)

╰+攻爆jí腚メ 2023-07-05 11:49 146阅读 0赞

在这里插入图片描述

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title></title>
  5. </head>
  6. <body>
  7. <script type="text/javascript">
  8. //push
  9. // var arr = [1,2,3,1,1,1];
  10. // Array.prototype.push = function () {
  11. // for(var i = 0; i < arguments.length;i++){
  12. // this[this.length] = arguments[i];
  13. // }
  14. // }
  15. // arr.pop();最后一位剪切里面没参数
  16. // arr.unshift(3);
  17. //数组第一位加3
  18. // arr.shift();
  19. //删除第一位
  20. // arr.reverse();
  21. //数组翻转
  22. // arr.splice(从第几位开始,截取多少的长度,在切口处添加新的数据);
  23. //如果数组里面有负数
  24. // splice = function (pos) {
  25. // pos += pos > 0 ? 0 : this.length;
  26. // }
  27. //排序
  28. //升序
  29. // arr.sort();
  30. //降序
  31. // arr.sort().reverse();
  32. //自定义排序
  33. //1.必须写俩形参
  34. //2.看返回值
  35. // 1.当返回值为负数时,那么前面的数放在前面
  36. // 2.为正数,那么后面的数在前 sss
  37. // 3.为0 不动
  38. // arr.sort(function (a , b) {
  39. //
  40. // //return a - b; 升序 
  41. // //return b - a; 降序
  42. //
  43. // });
  44. //给一个有序的数组乱序
  45. // var arr = [1,2,3,4,5,6,7];
  46. // arr.sort(function (a,b) {
  47. // if (a > b) {
  48. // return Math.random() - 0.5
  49. // }
  50. // });
  51. // var cheng = {
  52. // name : "cheng",
  53. // age : 18,
  54. // sex : 'male',
  55. // face : "handsome"
  56. // }
  57. // var deng = {
  58. // name : "deng",
  59. // age : 40,
  60. // sex : undefined,
  61. // face : "amazing"
  62. // }
  63. // var wang = {
  64. // name : "wang",
  65. // age : 22,
  66. // sex : 'male',
  67. // face : 'smart'
  68. // }
  69. // var arr = [cheng,deng,wang];
  70. // arr.sort(function (a , b) {
  71. // return b.age - a.age;
  72. // });
  73. // function retBytes(str) {
  74. // var num = str.length;
  75. // for(var i = 0; i < str.length; i++){
  76. // if (str.charCodeAt(i) > 255) {
  77. // num ++;
  78. // }
  79. // }
  80. // return num;
  81. // }
  82. // var arr = ['ab沙发沙发上c','bcd','cc束带结发cc','dddd','sjfjsfjsf','sjfjsjfjssj水电费fjsf','fsfsf','我'];
  83. // arr.sort(function (a,b) {
  84. // return retBytes(a) - retBytes(b);
  85. // })
  86. //连接数组不改变原数组
  87. // var arr = [2,3,5,2,1,5];
  88. // var arr1 = [0,4,6,1,4];
  89. // var arr2 = arr.concat(arr1);
  90. //数组变成字符串 arr.toString();
  91. //截取数组不改变原数组
  92. //slice(从该位开始截取,截取到该位)
  93. // var arr1 = arr.slice(1,3);
  94. //从第几位截取一直截取到头
  95. // var arr2 = arr.slice(2);
  96. // var arr = [41,432,11,368,0];
  97. //    //向数组中加入连接符号
  98. // var arr1 = arr.join("-");
  99. // //把字符串按成什么参数拆数组
  100. // var arr2 = arr1.split("-");
  101. // var str = "alibaba";
  102. // var str1 = "baidu";
  103. // var str2 = "tencent";
  104. // var str3 = "toutiao";
  105. // var str4 = "wangyi";
  106. // var str5 = "xiaowang";
  107. // var str6 = "nv";
  108. // //散列
  109. // var arr = [str,str1,str3,str4,str5,str6];
  110. // console.log(arr.join());
  111.   //类数组
  112. // function test() {
  113. // console.log(arguments);
  114. // }
  115. // test(1,2,34,5,5);
  116. // //属性要为索引(数字)属性,必须有length属性,最好加上push
  117. // // Array.prototype.push = function (target) {
  118. // // obj[obj.length] = target;
  119. // // obj.length++;
  120. // // }
  121. // var obj = {
  122. // "0" : 'a',
  123. // "1" : '1',
  124. // "2" : 'c',
  125. // "push" : Array.prototype.push,
  126. // "length" : 3,
  127. // "splice" : Array.prototype.splice
  128. // }
  129. // var obj1 = {
  130. // "2" : "a",
  131. // "3" : "b",
  132. // "length" : 2,
  133. // "push" : Array.prototype.push
  134. // }
  135. // obj1.push('c');
  136. // obj1.push('d');
  137. //自创类型识别方法
  138. function mytypeof(target) {
  139. var ret = typeof(target);
  140. var template = {
  141. "[object Array]" : "array",
  142. "[object Object]" : "object",
  143. "[object Number]" : "number - object",
  144. "[object Boolean]" : "boolean - object",
  145. "[object String]" : "string - object"
  146. }
  147. if (target === null) {
  148. return null;
  149. }
  150. else if (ret == "object") {
  151. var str = Object.prototype.toString.call(target);
  152. return template[str];
  153. }else{
  154. return ret;
  155. }
  156. }
  157. //数组去重
  158. Array.prototype.unique = function () {
  159. var temp = {};
  160. var arr = [];
  161. var len = this.length;
  162. for(var i = 0; i < len; i++){
  163. if (!temp[this[i]]) {
  164. //没有属性值取undefined ---> false 取反 true
  165. temp[this[i]] = 'la';
  166. arr.push(this[i]);
  167. }
  168. }
  169. return arr;
  170. }
  171. var arr = [12,3,1,3,3,4,11,51,1];
  172.   
  173. </script>
  174. </body>
  175. </html>

发表评论

表情:
评论列表 (有 0 条评论,146人围观)

还没有评论,来说两句吧...

相关阅读

    相关 javascript思维

            最近我把一本关于Javascript的书看了一遍,书名叫《JavaScript基础教程》-莫振杰写的。个人觉得很适合Javascript初学者看。里面的内容比较