JavaScript-数组排序

93 阅读1分钟

reverse 、sort 、join、 for in

        //reverse
        var arr = [6, 5, 4, 3, 2];
        var res = arr.reverse();
        console.log(res); //[2, 3, 4, 5, 6]
        console.log(arr); //[2, 3, 4, 5, 6]

        //sort
        var arr1 = [100, 6, 18, true];
        var res1 = arr1.sort();
        console.log(res1);//[100, 18, 6, true]
        console.log(arr1);//[100, 18, 6, true]

        /*
        扩展
        sort(function(a,b){return a-b}) 按数字从小到大排列
        sort(function(a,b){return b-a}) 按数字从大到小排列
        */

        /* toString()将数组转化为字符串
        返回值:返回后的字符串(以逗号分隔)
        不影响原数组
        toString(进制数)
        */
        var arr2 = [3, 5, 7, 9];
        var res2 = arr2.toString();
        console.log(res2);  //3,5,7,9
        console.log(arr2);  //[3, 5, 7, 9]

        var iNum = 88;
        console.log(iNum.toString(2)); //1011000
        console.log(iNum.toString(8)); //130
        console.log(iNum.toString(16)); //58

        //join(连接符),返回转后的字符串,不影响原数组
        var arr3 = [3, 8, 9, 1, 4, 6];
        var res3 = arr3.join("-");
        console.log(res3); //3-8-9-1-4-6
        console.log(arr3); //[3, 8, 9, 1, 4, 6]

        //for in 循环
        var arr4 = [55, 94, 71, 12, 36];
        for (var i in arr4) {
            console.log(i + "=>" + arr4[i])
        }

        var obj = {
            name: "jinke",
            age: 22,
            sex: "男",
        }
        for (var key in obj) {
            //key对象的属性名 对象名['属性'],这里不能用obj.key来操作
            console.log(key + "=>" + obj[key])
        }