JS基础(8)

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(数字);

数组排序

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

select: 下拉

事件: 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))