1. 程式人生 > >javaScript基礎03數組..

javaScript基礎03數組..

一個數 false push 就是 構造 創建 int32 con ava

  1 <!DOCTYPE html>
  2 <html lang="en">
  3 <head>
  4     <meta charset="UTF-8">
  5     <title>javascript基礎練習03</title>
  6     <script>
  7         // 簡單數據類型 Number String Boolean null undefined
  8 
  9         // 復雜數據類型 對象,方法.,引用類型  
 10 
 11         // 簡單數據類型存放在棧上面,先進後出.
12 13 // 復雜數據類型的地址放在棧上面,通過棧找到堆存放的具體內容,後執行. 14 15 function person (name) { 16 this.name = name; 17 } 18 19 var p = new person("zhang"); 20 21 function fn (person) { 22 23 person.name = "li"; 24 } 25 fn(p);
26 console.log(p.name); 27 28 //總結:函數把對象當做參數傳遞,傳遞的是地址,傳址,並沒有劃出一份單獨的空間 29 30 // 內置對象 內置對象內置對象內置對象 31 32 33 //********************************* 34 //*******************++++++++++______________+++++ 35 36 37 var num = new Uint32Array(2); //在num數組裏面,創建2個隨機整數元素
38 39 40 window.crypto.getRandomValues(num); 41 42 console.log(num); 43 44 45 // 判斷是否是日期對象? 46 47 date instanceof Date 48 49 var date = new Date(); 50 51 date.getMonth();//月份從0開始算 52 53 // 數組應用: 54 55 // 如何判斷一個數據是否是數組? 56 // * instanceof * 判斷一個變量是否是一個構造函數實例出來的對象 57 58 // nums instanceof Array; 59 var nums = 1; 60 console.log(!!nums);// ! 取反,!! 轉換成boolean; 61 62 63 // 棧: 64 // 先進後出 65 66 // push() //往入口處最後添加一個元素,返回數組長度 67 68 // pop()//彈棧,從入口處彈出一個元素,返回該元素之 69 70 71 // 隊列: 72 73 // 先進先出 74 75 // push() 在隊列後面添加一個元素 76 77 // shift() 從最前面取出一個元素,為最早放進去的元素 78 79 80 // 排序 81 // sort 從小到大 82 83 // 註意,默認的sort排序,是從元素的最高位到最低位,一一進行對比,會造成20小於1000的現象,!!因此需要改進 84 85 // 需要在sort()裏面加上一個函數 86 87 function compare(a,b) {//引用之後,就是比較的相鄰的元素 88 return a -b; 89 } 90 var nums = [1000,20]; 91 92 nums.sort(compare); 93 console.log(nums); 94 95 96 //手寫sort模擬排序 97 98 function mySort(arr,compare) { 99 for (var i = 0;i < arr.length - 1;i++) { 100 // console.log("一"+arr.length); 101 102 for (var j = 0;j < arr.length -1;j++) { 103 104 if (compare(arr[j],arr[j +1]) > 0) { 105 // console.log("二"+arr.length); 106 var temp = arr[j]; 107 arr[j] = arr[j + 1]; 108 arr[j + 1] = temp; 109 } 110 } 111 } 112 return arr; 113 } 114 115 var larry = [10002,20] 116 var result = mySort(larry,function (a,b) { 117 return a - b; 118 }); 119 120 console.log(result); 121 // reverse 翻轉 122 123 124 //數組清空: 125 126 var arr = [1,2,34,5]; 127 128 // arr.splice(從哪開始,刪除多少個) 129 130 arr.splice(0,arr.length); 131 132 133 //數組填充 fill: 134 var arr = [1,2,34,5]; 135 136 console.log(arr.fill("c",1,3)); 137 138 139 // every() 通過函數判斷數組中的每個元素,是夠通過測試,返回True或false 140 141 var arr = [1,2,34,5]; 142 143 function isThreshold(arr){ 144 return arr > 40; 145 } 146 147 console.log(arr.every(isThreshold)); 148 149 150 // 數組元素字符串拼接: 151 var arr = [1,2,34,5]; 152 console.log(arr.join("|")); 153 154 // filter 過濾數組中的每個元素,並且生成一個新的數組: 155 var arr = [1,2,34,5]; 156 157 function isThreshold(arr) { 158 return arr > 3; 159 } 160 161 var acc = arr.filter(isThreshold); 162 var acc1 = arr.filter(function (item) { 163 164 165 return item > 30; 166 }); 167 console.log(acc1); 168 console.log(acc); 169 170 // 用indexOF查找一個數組中制定元素的所有下標 171 172 var arr = ["a",1,2,3,"a",24,2,5,"a","c",216,1,"a",123,23,4,]; 173 var indexArry = []; 174 var i = 0; 175 while (true) { 176 177 var index = arr.indexOf("a",i);//查找"a"的下標,從i開始; 178 if (index != -1) { 179 i = index+1; 180 var bindex = index; 181 indexArry.push(bindex); 182 } 183 else{ 184 break; 185 } 186 } 187 188 console.log(indexArry); //[0, 4, 8, 12] 189 190 191 //數組去重.. 192 193 194 </script> 195 </head> 196 <body> 197 198 </body> 199 </html>

javaScript基礎03數組..