JavaScript(4)

JavaScript

Java 數組的遍歷

1.遍歷


for(var i=0 ; i<arrr.length ; i++)
    //代碼塊

for(var i in arr)
    //代碼塊

forEach ECMAScript5.0新特性
不支持break/continue
在低版本IE中無法使用

2.常用方法


    JOIN
    var arr = ["afsd", 23, 6.0, -2];
    var str = arr.join("+");
    // str = "afsd+23+6.0+-2";

    SPLIT
    var arr2 = str.split("+");//分割字符串,返回數組類型


    REVERSE
    var arr3 = arr2.reverse();
    //對數組本身有影響,arr2 與 arr3一樣

    SORT
    //通過一個函數作爲參數來調用
    var points = [40,100,1,5,25,10];
    points.sort(function(a,b){return a-b}); 

    CONCAT
    // 連接兩個或更多的數組,並返回結果
    var hege = ["Cecilie", "Lone"];
    var stale = ["Emil", "Tobias", "Linus"];
    var kai = ["Robin"];
    var children = hege.concat(stale,kai);


    SLICE
    從已有的數組中返回選定的元素,不影響原數組
    slice(start, end);

    在數組中讀取元素
    var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
    var citrus = fruits.slice(1,3);
    // Orange,Lemon

    使用負值從數組中讀取元素
    var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
    var myBest = fruits.slice(-3,-1);
    // Lemon,Apple


    SPLICE
    用於插入、刪除或替換數組的元素。
    splice(index, howmany, (item1, ..., itemX))
    從哪裏刪,刪多少,添加什麼

    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    fruits.splice(2,2);
    // Banana,Orange

    PUSH
    可向數組的末尾添加一個或多個元素,並返回新的長度

    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    fruits.push("Kiwi")
    fruits 結果輸出:
    Banana,Orange,Apple,Mango,Kiwi


    POP
    用於刪除數組的最後一個元素並返回刪除的元素

    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    fruits.pop();
    fruits 結果輸出:
    Banana,Orange,Apple

    MAP
    返回一個新數組,數組中的元素爲原始數組元素調用函數處理後的值,不會改變原數組
    類似Python裏面的MAP函數
    var numbers = [4, 9, 16, 25];

    function myFunction() {
        x = document.getElementById("demo")
        x.innerHTML = numbers.map(Math.sqrt);
    }
    輸出結果爲:
    2,3,4,5

    REDUCE
    接收一個函數作爲累加器,數組中的每個值(從左到右)開始縮減,最終計算爲一個值
    var numbers = [65, 44, 12, 4];

    function getSum(total, num) {
        return total + num;
    }
    function myFunction(item) {
        document.getElementById("demo").innerHTML = numbers.reduce(getSum);
    }
    輸出結果:
    125


    SOME
    用於檢測數組中的元素是否滿足指定條件(函數提供)

    var ages = [3, 10, 18, 20];

    function checkAdult(age) {
        return age >= 18;
    }

    function myFunction() {
        document.getElementById("demo").innerHTML = ages.some(checkAdult);
    }
    輸出結果爲:
    true

    INDEXOF
    返回某個指定的字符串值在字符串中首次出現的位置
    如果沒與搜索到則返回 -1

    查找數組中的 "Apple" 元素:
    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    var a = fruits.indexOf("Apple");
    a 結果輸出:
    2

3.數組排序


  • 冒泡排序

    var arr = [2,5,0,-1,6];
    for(var i=0;i<arr.length;i++)
        for(var j=i;j<arr.length;j++)
            if(arr[j] > arr[i]) {
                var tmp = arr[j];
                arr[j] = arr[i];
                arr[i] = tmp;
            }
    
    
    for(var i=0;i<arr.length;i++)
        for(var j=i+1;j<arr.length;j++)
            if(arr[j] < max) {
                var tmp = arr[j];
                arr[j] = arr[i];
                arr[i] = tmp;
            }
    

常用的類

1.String


    charAt(3):獲取下標爲3的字符
    charCodeAt(3):獲取下標爲3的字符的ASCII碼,返回指定位置的字符的Unicode編碼,返回值在0~65535之間
    fromCharCode(94):將ASCII碼轉換成字符

    查找字串
    indexOf():
    lastIndexOf():

    替換
    replace():

    截取字串
    subString(3):表示從下標爲3的位置開始截取。不影響原字符串

    大小寫轉換
    toLowerCase():
    toUpperCase();

    字符串大小比較
    localCompare():如果字符串在字母表中應該排在字符串參數
    之前 -1 等於 0 之後 1

    字符串分割
    split():

2.Math


    round():
    random():
    max(x,y,z):
    min(x,y,z):
    sqrt(x):
    floor(x):
    ceil(x):
    pow(x, y):

3.Date


    getFullYear()
    使用 getFullYear() 獲取年份。
    getTime()
    getTime() 返回從 1970 年 1 月 1 日至今的毫秒數。
    setFullYear()
    如何使用 setFullYear() 設置具體的日期。
    toUTCString()
    如何使用 toUTCString() 將當日的日期(根據 UTC)轉換爲字符串。
    getDay()
    如何使用 getDay() 和數組來顯示星期,而不僅僅是數字。
    Display a clock
    如何在網頁上顯示一個鐘錶。

    Date.parse("2017-06-29")
    返回是該日期距離世界時間的毫秒值

    getDay()
    getHours()
    getMinutes()

    toLocaleTime()
發佈了91 篇原創文章 · 獲贊 12 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章