标签:空间 javascrip tle turn 模拟 shift temp 过滤 执行
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>
标签:空间 javascrip tle turn 模拟 shift temp 过滤 执行
原文地址:https://www.cnblogs.com/huasongweb/p/9734419.html