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

原文地址:https://www.cnblogs.com/allyh/p/9974901.html

时间: 2024-10-30 22:18:11

JavaScript math库,数组,表的相关文章

【JavaScript 封装库】BETA 4.0 测试版发布!

1 /* 2 源码作者: 石不易(Louis Shi) 3 联系方式: http://www.shibuyi.net 4 =================================================================================================== 5 程序名称: JavaScript 封装库 BETA 4.0 版 6 迭代版本: BETA 3.0 7 插件总数: 12 个 8 库方法数: 26 个 9 功能总数: 67 个

翻阅《数据结构与算法javascript描述》--数组篇

导读: 这篇文章比较长,介绍了数组常见的操作方法以及一些注意事项,最后还有几道经典的练习题(面试题). 数组的定义: JavaScript 中的数组是一种特殊的对象,用来表示偏移量的索引是该对象的属性,索引可能是整数.然而,这些数字索引在内部被转换为字符串类型,这是因为 JavaScript 对象中的属性名必须是字符串.在内部被归类为数组.由于 Array 在 JavaScript 中被当作对象,因此它有许多属性和方法可以在编程时使用. 使用数组: 1.创建数组 使用 [] 操作符 ,var a

javascript之 JavaScript 工具库

javascript之 JavaScript 工具库jQuery 目录: 一.查找标签和事件绑定以及操作标签的对比 二.DOM对象和jquery的转换 三.$(document).ready( )  四.链式操作 五.元素的操作:取值和赋值 六.元素的操作:移动 七.工具方法 八.特殊效果 一.查找标签和事件绑定以及操作标签的对比 1.查找标签的对比*** (1)原生javascript document.getElementsByClassName("classname");//根据

jQuery使用最广泛的javascript函数库

网站建设中,jQuery之最方便的的库了,当用到其中的JavaScript函数库的时候,不禁会想居然还有这么简单的操作? 一.选择网页元素 jQuery的基本设计思想和主要用法,就是"选择某个网页元素,然后对其进行某种操作".这是它区别于其他Javascript库的根本特点. 使用jQuery的第一步,往往就是将一个选择表达式,放进构造函数jQuery()(简写为$),然后得到被选中的元素. 选择表达式可以是CSS选择器: $(document) //选择整个文档对象 $('#myId

【JavaScript 封装库】BETA 5.0 测试版发布!

JavaScript 前端框架(封装库) BETA 5.0 已于10月10日正式发布,今天开始提供 BETA 5.0 的 API 参考文献.相较于之前 5 个版本的发布都是草草的提供源代码,并没有很多人参与进来,而且各大博客对源代码的处理也不是很感冒,导致发表的文章很大程度上并没有人知道.所以从此次开始,今后每次发布新版本都会提供相应的 API 手册,目的就是要让大家都能够参与其中,了解与使用框架.简化大家在平时开发中的步骤,提高产出效率,这也是我的目标. 参考文档分为 5 大部分,分别为:1.

【JavaScript 封装库】BETA 2.0 测试版发布!

1 /* 2 源码作者: 石不易(Louis Shi) 3 联系方式: http://www.shibuyi.net 4 =================================================================================================== 5 程序名称: JavaScript 封装库 BETA 2.0 版 6 迭代版本: BETA 1.0 7 功能总数: 50 个 8 新增总数: 6 个 9 删除总数: 0 个 1

JavaScript 工具库:Cloudgamer JavaScript Library v0.1 发布

JavaScript 工具库:Cloudgamer JavaScript Library v0.1 发布 研究了一年多的js,也差不多写一个自己的js库了.我写这个不算框架,只是一个小型的js工具库,所以我用的名字是Library.主要集合了我写js时一些常用的方法,并参考了prototype.js,jquery,google,百度,有啊等框架. 这个工具库的主要特点是: [跨浏览器]能在以下浏览器使用:IE6,IE7,IE8,Firefox 3.5.3,Chrome 3.0,Safari 4.

javascript数据结构之顺序表

关于线性表的概念这里就不赘述了,可以自行百度和查阅资料,线性表按照存储(物理)结构分为顺序存储和链式存储,每种存储方式的不同决定了它的实现代码是不同的: 顺序存储的特点就是在内存中选一块连续的地址空间,然后将线性表放入其中,这样做便于线性表的存取,但是不利于插入和删除,而且在事先无法确定线性表长度的前提下可能会造成内存浪费或溢出. 这篇我是用javascript来实现线性表中的顺序表. 下面上代码: 1 var orderList = function(){ 2 var items = [];

javascript如何获取数组中的最大值和最小值

javascript如何获取数组中的最大值和最小值:比较数组中数值的大小时比较常见的操作,比较大小的方法有多种,比如可以使用自带的sort()函数,下面再来介绍一下其他比较常用的方法,代码如下: function getMaximin(arr,maximin) { if(maximin=="max") { return Math.max.apply(Math,arr); } else if(maximin=="min") { return Math.min.appl