1 //JS math库——数组——表 2 cc.Class({ 3 extends: cc.Component, 4 5 properties: {}, 6 7 8 onLoad: function () { 9 //JS 里圆周率PI --》 Math.PI 10 //Math是全局的 11 //console.log(Math.PI);//3.1415926535897931 12 //JS提供的随机函数Math.random() ---->[0,1)范围内的数 13 /*工具函数: 14 * 1:Math.PI 15 2:Math.random 返回 [0, 1)范围的数; 16 3:Math.floor(); 向下取整数; 17 4:Math.sin, Math.cos, Math.tan 三角函数 18 5: 角度转弧度,弧度转角度; 19 6: 反三角函数Math.asin, Math.acos, Math.atan; 20 7: Math.atan2(y, x), 返回一个坐标(x,y)对应的角度;角度范围是(-PI, PI];//常用瞄准, 21 8: Math.sqrt 开根号; 22 */ 23 }, 24 //随机范围内的数 25 random_int:function (start,end) { 26 var num=start+(end-start)*Math.random();//返回的是[start,end)中的小数 27 return Math.floor(num);//向下取整 28 }, 29 random_str:function () { 30 31 }, 32 //度转弧度[0,2PI] 33 degree_to_r:function (degree) { 34 // PI--->180 35 return (degree/180)*Math.PI; 36 }, 37 //弧度转度 38 r_to_degree:function (r) { 39 return (r/Math.PI)*180; 40 }, 41 start: function () { 42 console.log(this.random_int(10, 15) + "---------------------"); 43 //数学的正弦余弦正切 单位都是数学等的弧度(而不是度) 44 //方向是数学的正方向,即逆时针方向 45 console.log(Math.sin(Math.PI/4));//sin 45 46 console.log(Math.cos(Math.PI/3));//cos 60 =1/2 47 console.log(Math.tan(Math.PI/4));//tan 45 =1 48 //反三角函数 sin(30)=0.5 那么asin(0.5)=30度 49 //反三角函数的范围[-PI/2,PI/2] 50 console.log(this.r_to_degree(Math.asin(0.5)));//30 Math.acos(0.5):60 51 console.log(this.r_to_degree(Math.atan(1)));//45 52 //常用瞄准,反正切 53 console.log(this.r_to_degree( Math.atan2(1,1)));//45度 54 //求一个数的正的平方根 55 console.log(Math.sqrt(4));//2 56 console.log(Math.sqrt(2));//1.4142135623730951 57 58 this.vector_distance(0,0,1,1); 59 //this.arrayTest(); 60 // this.Table(); 61 this.strTest(); 62 }, 63 // 计算两点之间的距离 64 vector_distance:function (lhs_x,lhs_y,rhs_x,rhs_y) { 65 var length2=(lhs_x-rhs_x)*(lhs_x-rhs_x)+(lhs_y-rhs_y)*(lhs_y-rhs_y); 66 return Math.sqrt(length2); 67 }, 68 //数组的高级使用 69 /* 70 *1:array.length; 获取数组的长度; 71 2:遍历一个数组; for(var key in array); 72 3: 向数组末尾加入一个元素; push 73 4: 查找对象在数组中所对应的索引; indexOf() 74 5: 删除数组的某个元素; splice(开始索引,要删除的个数) 75 6: 数组的排序; 76 7: 随机 打乱一个数列; 77 8:随机的从一堆的数据里面抽取一个值; 78 * */ 79 arrayTest:function () { 80 var array_num = [1, 2, 3]; 81 //求数组的长度 82 console.log(array_num.length); 83 //遍历数组 84 //1 通用方式 85 for (var i = 0; i < array_num.length; i++) { 86 console.log(array_num[i]); 87 } 88 //末尾添加一个元素 89 array_num.push(4); 90 //2 91 for (var key in array_num) { 92 console.log(key + ":--->" + array_num[key]); 93 } 94 // 95 console.log(array_num.indexOf(10));//-1 数组内无该数 96 console.log(array_num.indexOf(4));//3 若有,返回出该数所在数组的下标 97 array_num.splice(0, 1); 98 for (var key in array_num) { 99 console.log(key + ":--->" + array_num[key]); 100 } 101 102 array_num = [1, 3, 2, 3, 5, 6, 9, 8, 1]; 103 //数组的排序,快速排序 104 //sort 默认从小到大 105 //自己定义一个比较函数,这个比较函数在排序的时候会调用。 106 array_num.sort(function (lhs, rhs) { 107 if (lhs < rhs) { 108 return -1; 109 } 110 //else{ 111 // return 1; 112 // } 113 else if (lhs > rhs) { 114 return 1; 115 } 116 else { 117 return 0; 118 } 119 }); 120 //从大到小的序列排序 121 array_num.sort(function (lhs, rhs) { 122 if (lhs < rhs) { 123 return 1; 124 } 125 else if (lhs > rhs) { 126 return -1; 127 } 128 else { 129 return 0; 130 } 131 }); 132 //随机 打乱一个数列 133 //数组内不一定只是存放简单数据,所以无法直接使用比较大小 134 //洗牌 随机取得一个数 135 array_num.sort(function (lhs,rhs) { 136 if(Math.random()<0.5){ 137 return -1; 138 }else{ 139 return 1; 140 } 141 }); 142 143 console.log(array_num); 144 }, 145 /*1:遍历一个表;for(key in table) 146 2: 删除表中的数据; delete list_data[4] 147 */ 148 Table:function () { 149 var student={ 150 xx:10, 151 xy:3, 152 ss:4, 153 xl:6, 154 }; 155 delete student["xl"];//删除表里某一项数据 key value 156 for(var key in student){ 157 console.log(key,student[key]); 158 } 159 }, 160 //字符串对象高级使用 161 /*1:str.length;属性 162 2: str.indexOf();返回子串首次出现的位置; 163 3:str.replace(/Microsoft/,"W3School"); 164 4:toLowerCase 转换成小写, toUpperCase; 165 */ 166 strTest:function () { 167 var str="ddddtest"; 168 console.log(str.length); 169 var index=str.indexOf("test"); 170 console.log(index); 171 // 重新生成一个字符串对象 172 var str2=str.replace("test","TEST"); 173 console.log(str,str2); 174 var str3=str.toUpperCase(); 175 console.log(str,str3); 176 var str4=str.toLowerCase(); 177 console.log(str,str4); 178 }, 179 180 });
原文地址:https://www.cnblogs.com/allyh/p/9974901.html
时间: 2024-10-30 22:18:11