JavaScript math库,数组,表

Posted allyh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript math库,数组,表相关的知识,希望对你有一定的参考价值。

  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 });

 

以上是关于JavaScript math库,数组,表的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript笔试题(js高级代码片段)

Lua函数(function)语法与库函数 --math 表(table)

javascript常用代码片段

如何将此 JavaScript 代码片段翻译成 Parenscript?

JavaScript单行代码,也就是代码片段

常用Javascript代码片段集锦