美文网首页
JS基础(8)

JS基础(8)

作者: lemontree2000 | 来源:发表于2016-10-24 23:28 被阅读0次

    Math的小方法

    Math.random(); 0-1 之间的随机数 不包括1

    -12 -> 12
    12 -> 12
    绝对值:
    Math.abs(数字);

    求最大值
    12 5
    Math.max(12,5...);

    求最小值
    Math.min(12,5...);

    2 -> 3次方
    求次方:
    Math.pow(2,3);

    9 -> 3
    求开平方:
    Math.sqrt(9);

    12.6 -> 12
    向下取整:
    Math.floor(数字);

    12.6 -> 13
    向上取整:
    Math.ceil(数字);

    12.4 -> 12
    12.6 -> 13
    四舍五入:
    Math.round(数字);

    <b>数组排序</b>

    var arr = [12,5,24,6,9,134];
    // 排序
    arr.sort(function(n1,n2){
    return n1 - n2;
    });

    自己写一个排序(从小到大):
    选择排序(插入排序)
    a). 找最小值,找最小值的位置
    封装一个找最小值位置的函数
    findMinIndex(arr,start);
    b). 换位置

     // 找最小值的位置函数
            function findMinIndex(arr,start) {
                var iMin = arr[start]; // 最小值
                var iMinIndex = start; // 最小值的位置
                for (var i = start + 1; i < arr.length; i++) {
                    if (iMin > arr[i]) {
                        iMin = arr[i];
                        iMinIndex = i;
                    }
                }
                return iMinIndex;
            }
    
            var arr = [12,5,24,6,9,134];
            // 从小到大排序
            for (var i = 0; i < arr.length; i++) {
                // 找最小值的位置
                var iMinIndex = findMinIndex(arr,i);
                // 当前数 -> arr[i]
                // 最小值 -> arr[iMinIndex]
                var temp;
                temp = arr[iMinIndex];
                arr[iMinIndex] = arr[i];
                arr[i] = temp;
            }
          alert(arr);
    

    数组去重:
    a). findInArr
    b). json
    c). sort()

    findInArr 去重代码

     function findInArr(item,arr) { // 参数相当于该函数的局部变量
                for (var i = 0 ; i < arr.length; i++) {
                    if (arr[i] == item) {
                        return true;
                    }
                }
                return false;
            }
    
    
            var arr = [1,2,2,2,3,4,5,5,6,7,8,8,9];
            var arr2 = []; // 新数组
            for (var i = 0; i < arr.length; i++) {
                // 没有找到才往新数组里面放
                if (!findInArr(arr[i], arr2)) {
                    arr2.push(arr[i]);
                }
            }
            alert(arr2);
    
    

    JSON去重代码

      var arr = [1,2,2,2,3,4,5,5,6,7,8,8,9];
    
            var json = {};
            for (var i = 0; i < arr.length; i++) {
                json[arr[i]] = 'xxx';
            }
    
            // console.log(json);
            // {1: "xxx", 2: "xxx", 3: "xxx", 4: "xxx", 5: "xxx", 6: "xxx", 7: "xxx", 8: "xxx", 9: "xxx"}
            var arr2 = [];
            for (var name in json) {
                arr2.push(name);
            }
            alert(arr2);
    
    

    sort 去重

      var arr = [1,2,2,2,3,111,222,111,4,5,5,6,7,8,8,9];
            arr.sort();
            // 1,111,111,2,2,2,222,3,4,5,5,6,7,8,8,9
            for (var i = 0; i < arr.length; i++) {
                if (arr[i] == arr[i+1]) {
                    arr.splice(i,1);
                    i--;
                }
            }
            document.write(arr);
    
    

    <b>select: 下拉</b>

    事件: onchange -> 当发生改变的时候
    默认选中:selected

    选中的索引值:
    oSel.selectedIndex

    获取option:
    a). getElementsByTagName
    b). oSel.options

    获取文本值:
    a). innerHTML
    b). text

    动态的添加删除

    创建:var option = new Option(文本,value值);

    添加:oSel.options.add(option);

    删除:oSel.options.remove(索引值);

    删除全部: 循环remove

    相关文章

      网友评论

          本文标题:JS基础(8)

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