JS表,数组, Math 高级使用

Math库

一个系统给你做好的表--> 系统给你做好的 key, value;

PI: 3.1415926
var pi = Math.PI;
console.log(pi);
产生一个随机的[0, 1)小数
var value = Math.random();
console.log(value);
向下取整数
value = Math.PI;
value = Math.floor(value);
console.log(value);
随机产生 一个[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);
三角函数, 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);
反三角函数,给你一个正弦值,--> 返回一个弧度
// []
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);

数组的高级使用

获得数组的长度
var array_data = [1, 2, 3, 4];
console.log(array_data.length);
遍历
for (var index in array_data) {
    console.log(array_data[index]);
}
//用普通的for循环遍历一个数组
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 t"这个 t 传进去的指向的是“{ name: "Blake"}”这个对象的引用,
//“modify_table(t)”把这个 t 传给“modify_table”这个函数
//函数参数里的 t ,也是"var t"这个 t 的对象的引用
//通过往这个表里加一个key,所以打印出来多一个key。
查找对象在数组中所对应的索引;
indexOf()
var index = array_data.indexOf(300)
console.log(index);
删除
//从第几个索引开始删, 删除的个数,返回删除的数组, 原来的数组元素少了;
var data2 = array_data.splice(2, 2)
console.log(data2);
console.log(array_data);
数组的排序

sort()

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);
随机打乱一个序列
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);

//随机抽取一个值
value = array_data[0];
console.log(value);

表的高级使用

var test_table = {
    name: "Blake",
    age: 34,
};
表的遍历
//打印出表里的所有数据
for (var key in test_table) {
    console.log(key, test_table[key]);
}
删除掉表里的key的函数
delete test_table["age"];
delete test_table.name;

字符串的高级使用

//属性
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 = str.toUpperCase(); 
console.log(str);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容