Math工具函数
1:Math.PI
2:Math.random 返回 [0, 1)范围的数;
3:Math.floor(); 向下取整数;
4:Math.sin, Math.cos, Math.tan 三角函数
5: 角度转弧度,弧度转角度;
6: 反三角函数Math.asin, Math.acos, Math.atan;
7: Math.atan2(y, x), 返回一个坐标(y, x)对应的角度;(-PI, PI];
8: Math.sqrt 开根号;
数组的高级使用
1:array.length; 获取数组的长度;
2:遍历一个数组; for(var key in array);
3: 向数组末尾加入一个元素; push
4: 查找对象在数组中所对应的索引; indexOf()
5: 删除数组的某个元素; splice(开始索引,要删除的个数)
6: 数组的排序;
7: 随机 打乱一个数列;
8:随机的从一堆的数据里面抽取一个值;
表的高级使用
1:遍历一个表; for(key in table)
2: 删除表中的数据; delete list_data[4];
字符串对象高级使用
1:str.length;属性
2: str.indexOf();返回子串首次出现的位置;
3:str.replace(/Microsoft/,"W3School");
4:toLowerCase, toUpperCase;
// 表,数组, Math 高级使用
// Math 一个系统给你做好的表--> 系统给你做好的 key, value;
// PI: 3.1415926
var pi = Math.PI;
console.log(pi);
// 产生一个随机的[0, 1)小数
var value = Math.random();
console.log(value);
// end
// 向下取整数
value = Math.PI;
value = Math.floor(value);
console.log(value);
// end
// 随机产生 一个[a, b]之前的整数;
function random_int (min, max) {
var value = min + (max - min + 1) * Math.random(); // [0, max-min)--> min + [min, max + 1)
value = Math.floor(value);
return value;
}
value = random_int(3, 5)
console.log(value);
// end
// 三角函数, sin, cos, tan, 参数是弧度,传入一个角度--> sin;
// 90--> Math.PI / 2, 180 Math.PI, 360 --> 2 * Math.PI
// 45 --> Math.PI / 4; sin(45) = 根号(2) / 2 == 0.707
value = Math.sin(Math.PI / 4);
console.log(value);
value = Math.cos(Math.PI / 4);
console.log(value);
value = Math.tan(Math.PI / 4);
console.log(value);
// 其他的三角函数,可以百度查到
function rad2deg(r) {
var degree = r * 180 / Math.PI;
return degree;
}
function deg2rad(degree) {
var r = (degree / 180) * Math.PI;
return r;
}
value = rad2deg(Math.PI / 4)
console.log(value);
// end
// 反三角函数,给你一个 正玄值,--> 返回一个弧度
// []
value = Math.sin(deg2rad(90));
value = Math.asin(value);
console.log(rad2deg(value));
value = Math.cos(deg2rad(90));
value = Math.acos(value);
console.log(rad2deg(value));
value = Math.tan(deg2rad(88));
value = Math.atan(value);
console.log(rad2deg(value));
// end
// atan2: (-PI, PI]
var r = Math.atan2(1, 1);
value = rad2deg(r);
console.log(value);
r = Math.atan2(-1, -1);
value = rad2deg(r);
console.log(value);
//
// 开根号
value = Math.sqrt(3); // 根号2; 1.414
console.log(value);
// end
// 数组的高级使用, 获得数组的长度
var array_data = [1, 2, 3, 4];
console.log(array_data.length);
// end
// 遍历
for (var index in array_data) {
console.log(array_data[index]);
}
for(var i = 0; i < array_data.length; i ++) {
console.log(array_data[i]);
}
// 加一个元素到数组的末尾
array_data.push(100);
array_data.push(200);
array_data.push(300);
array_data.push("Hello javascript");
array_data.push({key: "value"});
console.log(array_data);
// end
function modify_table(t) {
t.xxxx = 10;
}
var t = { name: "Blake"};
console.log(t);
modify_table(t);
console.log(t);
var index = array_data.indexOf(500)
console.log(index);
// 开始的索引, 删除的个数,返回删除的数组, 原来的数组元素少了;
var data2 = array_data.splice(2, 2)
console.log(data2);
console.log(array_data);
// 数组的排序
array_data = [3, 7, 6, 5];
// 比较函数, 传给这个排序的函数,排序的函数,使用这个比较函数的结果,来决定大小,来排序;
// 指定的比较大小的方法
array_data.sort(function(lhs, rhs) {
if (lhs > rhs) {
return -1; // lhs排在rhs前面
}
else if(lhs < rhs) {
return 1; // rhs排在lhs前面
}
else {
return 0; // lhs == rhs ;
}
});
console.log(array_data);
// end
function random_array(array_data) {
array_data.sort(function(lhs, rhs) { // 随机决定他们的大小
if(Math.random() <= 0.5) {
return -1;
}
else {
return 1;
}
})
}
array_data = [101, 201, 301, 501, 701];
random_array(array_data);
console.log(array_data);
random_array(array_data);
console.log(array_data);
random_array(array_data);
console.log(array_data);
value = array_data[0];
console.log(value);
var test_table = {
name: "Blake",
age: 34,
};
// 删除掉key的函数
delete test_table["age"];
delete test_table.name;
// end
for (var key in test_table) {
console.log(key, test_table[key]);
}
var str = "HelloWorld";
console.log(str.length);
console.log(str.indexOf("or"));
// 不会改变原来的字符串;
var new_str = str.replace("Hello", "3q");
console.log(str, new_str);
new_str = str.toLowerCase();
console.log(str, new_str);
new_str = str.toUpperCase();
console.log(str, new_str);
str = str.toUpperCase(); // str 指向了这个新产生的字符对象;
console.log(str);
// 1:熟练的使用Math常用的函数;
console.log("1:熟练的使用Math常用的函数;\n");
var _pi = Math.PI;
var _random = Math.random();
var _floor = Math.floor(123.789);
var _sin = Math.sin(Math.PI / 4);
var _cos = Math.cos(Math.PI / 4);
var _tan = Math.tan(Math.PI / 4);
console.log("_pi:", _pi);
console.log("_random:", _random);
console.log("_floor:", _floor);
console.log("_sin:", _sin);
console.log("_cos:", _cos);
console.log("_tan:", _tan);
console.log("\n");
//角度转弧度
function rad2deg(r) {
var degree = r * 180 / Math.PI;
return degree;
}
//弧度转角度
function deg2rad(degree) {
var r = (degree / 180) * Math.PI;
return r;
}
console.log("rad2deg:", rad2deg(90));
console.log("deg2rad:", deg2rad(180));
var _asin = Math.asin(Math.PI / 4);
var _acos = Math.acos(Math.PI / 4);
var _atan = Math.atan(Math.PI / 4);
console.log("_asin:", _asin);
console.log("_acos:", _acos);
console.log("_atan:", _atan);
var _atan2 = Math.atan2(1,1);
console.log("_atan2:", _atan2);
var _sqrt = Math.sqrt(3);
console.log("_sqrt:", _sqrt);
console.log("\n");
// 2:给定一个数组,让元素按照从大到小,从小到大的排列;
console.log(" 2:给定一个数组,让元素按照从大到小,从小到大的排列;\n");
console.log("从大到小的排列:");
var arr1 = [];
arr1 = [21,34,12,56,43,98,67,5,29,76];
arr1.sort(function(a,b){
if(a > b){
return -1;
}else if(a < b){
return 1;
}else{
return 0;
}
});
console.log(arr1);
console.log("从小到大的排列:");
var arr2 = [];
arr2 = [21,34,12,56,43,98,67,5,29,76];
arr2.sort(function(a,b){
if(a > b){
return 1;
}else if(a < b){
return -1;
}else{
return 0;
}
});
console.log(arr2);
console.log("\n");
// 3:随机打乱一个数组;
console.log("3:随机打乱一个数组; \n");
var arr = [];
arr = [1,2,3,4,5,6,7,8,9];
function random_array(arr){
arr.sort(function(a,b){
if(Math.random() <= 0.5){
return 1;
}else{
return -1;
}
});
}
random_array(arr);
console.log(arr);
console.log("\n");
// 4: 编写程序 随机的生成[100, 1000]范围内的整数;
console.log(" 4: 编写程序 随机的生成[100, 1000]范围内的整数;\n");
function random_int(min, max){
var value = min + (max - min + 1) * Math.random();
value = Math.floor(value);
return value;
}
var _v = random_int(100, 1000);
console.log("random_int:", _v);
console.log("\n");
// 5: 遍历数组,遍历表;
console.log(" 5: 遍历数组,遍历表;\n");
var array = [];
array = [21,34,12,56,43,98,67,5,29,76];
for(var i in array){
console.log("index--value:", i, array[i])
}
var table_data = {};
table_data = {
name: "tony",
age: 18,
phone: "13888888888",
addr1:["sa",123456,{
ip: "127.0.0.1",
port:3306}
],
addr2:{
ip: "192.168.0.1",
port:9527,
},
}
for(var key in table_data){
console.log(key, table_data[key]);
}
来源:CSDN
作者:^随风~~
链接:https://blog.csdn.net/ccnu027cs/article/details/104156513