nodejs-004JSMath函数/数组/表/字符串/常用接口

来源:互联网 发布:东北歌手最火的网络歌 编辑:程序博客网 时间:2024/06/18 14:28

Math工具函数

1、Math.PI

console.log(Math.PI);//3.141592653589793

2、Math.random 返回 [0, 1)范围的数;
Math.floor(); 向下取整数;

// 返回一个[start, end)范围的随机的整数function  random_int (start, end) {    var num = start + (end - start) * Math.random(); // 返回的是[start, end) 小数    // 小数变-->整数,向下取整    return Math.floor(num);}console.log(random_int(10, 15));

3、Math.sin, Math.cos, Math.tan 三角函数

// 数学的正弦, 余弦,正切,单位都是数学的弧度,而不是度,方向是数学的正方向,逆时针方向。console.log(Math.sin(Math.PI / 4)); // sin 45 console.log(Math.cos(Math.PI / 6)); // cos 30console.log(Math.tan(Math.PI / 6)); // 1 / 1.73

4、角度转弧度,弧度转角度;

// 度 [0, 360)    弧度[0, 2*PI)function degree_to_r(degree) {    // PI --> 180    return (degree / 180) * Math.PI;}function r_to_degree(r) {    // PI--> 180;    return (r / Math.PI) * 180;}var r = degree_to_r(90);console.log(r); // PI / 2;console.log(r_to_degree(r));

6:、反三角函数Math.asin, Math.acos, Math.atan;

// sin(30度) 0.5, asin(0.5) --> 0.5对应的弧度// [-0.5PI, 0.5PI]r = Math.asin(0.5);console.log(r_to_degree(r));r = Math.acos(0.5);console.log(r_to_degree(r));r = Math.atan(1);console.log(r_to_degree(r));

7、Math.atan2(y, x), 返回一个坐标(y, x)对应的角度;(-PI, PI];

// (x, y) == (1, 1);r = Math.atan2(1, 1);console.log(r_to_degree(r));// (x, y) == (-1, 1) // (y, x)r = Math.atan2(1, -1);console.log(r_to_degree(r));r = Math.atan2(0, -1);console.log(r_to_degree(r));

8、Math.sqrt 开根号;

// sqrt:求给定一个数的正平方根console.log(Math.sqrt(16));// 计算两点之间的距离function vector_distance(x1, y1, x2, y2) {    var len = (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);    return Math.sqrt(len);}console.log(vector_distance(0, 0, 1, 1));

二、数组的使用

1、array.length; 获取数组的长度;

var array_num = [1, 2, 3];// 求数组的长度console.log(array_num.length);

2、遍历一个数组; for(var key in array);

// 方法1for(var i = 0; i < array_num.length; i ++) {    console.log(array_num[i]);}//方法2for(var key in array_num) {    console.log(key + ":--->" + array_num[key]);    }

3、向数组末尾加入一个元素: push

array_num.push(10);console.log(array_num);

4、查找对象在数组中所对应的索引; indexof()

console.log(array_num.indexOf(10));

5、删除数组的某个元素; splice(value,n)

// splice(开始索引,要删除的个数)array_num.splice(2, 1);console.log(array_num);

6、数组的排序:快速排序
(1) sort函数 sort(function(param1,param2))
(2) 自己定义一个比较函数,在排序的时候调用比较函数,返回值为-1,param1排在param2左边;返回值为1,param1排在param2右边;返回值为0,位置不变。
(3) 默认是由小到大的排列

array_num = [2, 3, 5, 9, 4, 1, 6, 8, 6, 7, 7];array_num.sort(function(lhs, rhs) {    if (lhs < rhs) {        // return -1;        return 1;    }    else if (lhs > rhs){        // return 1;        return -1;    }    else {        return 0;    }});console.log(array_num);

7、随机打乱一个数列;

var random_array = [1, 2, 3, 4, 5, 6, 7];random_array.sort(function(lhs, rhs) {    if (Math.random() < 0.5) {        return -1;    }    else {        return 1;    }});// endconsole.log(random_array);

8、随机的从一堆的数据里面抽取一个值

var ball_set = [1, 2, 3, 4, 5, 6, 7, 8];ball_set.sort(function(lhs, rhs) {    if (Math.random() < 0.5) {        return -1;    }    else {        return 1;    }});console.log(ball_set[0]);

三、表的使用

1、遍历一个表:for(key in table)

var student = {    xiaoming: 20,    xiaohong: 25,    xiaotian: 19,    xiaoluo: 27,};for(var key in student) {    console.log(key, student[key]);}

2、删除表中的数据:delete list_data[4]

delete student["xiaoluo"];for(var key in student) {    console.log(key, student[key]);}

四、字符串的使用

1、str.length

var str = "HelloWorld!!!!";console.log(str.length);

2、str.indexof():返回子串首次出现的位置

// 返回参数字符串在字符串的所在第一次出现的位置。如果没有,那么返回-1var index = str.indexOf("World");console.log(index);index = str.indexOf("xiaoming");console.log(index);

3、str.replace(/Microsoft/,”W3School”)

// 重新生成一个字符串对象;var temp2 = str.replace("World", "WORLD");// HelloWorld!!!! HelloWORLD!!!!console.log(str, temp2);

4、toLowerCase(); 把字符串转换为小写
toUpperCase();把字符串转换为大写

var temp3 = str.toUpperCase();console.log(str, temp3);
阅读全文
0 0