美文网首页
JS表,数组, Math 高级使用

JS表,数组, Math 高级使用

作者: 大猫城堡 | 来源:发表于2019-01-14 14:42 被阅读0次

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

    相关文章

      网友评论

          本文标题:JS表,数组, Math 高级使用

          本文链接:https://www.haomeiwen.com/subject/dtoddqtx.html