1. 程式人生 > 實用技巧 >JS內建物件-Array物件

JS內建物件-Array物件

Array 物件

JavaScript的 Array 物件是用於構造陣列的全域性物件,陣列是類似於列表的高階物件。
Array 物件用於在變數中儲存多個值:

var cars = ["Saab", "Volvo", "BMW"];

陣列屬性

方法 描述
constructor 返回建立陣列物件的原型函式。
length 設定或返回陣列元素的個數。
prototype 允許你向陣列物件新增屬性或方法。

Array 物件方法

方法 描述
concat() 連線兩個或更多的陣列,並返回結果。
copyWithin() 從陣列的指定位置拷貝元素到陣列的另一個指定位置中。
entries() 返回陣列的可迭代物件。
every() 檢測數值元素的每個元素是否都符合條件。
fill() 使用一個固定值來填充陣列。
filter() 檢測數值元素,並返回符合條件所有元素的陣列。
find() 返回符合傳入測試(函式)條件的陣列元素。
findIndex() 返回符合傳入測試(函式)條件的陣列元素索引。
forEach() 陣列每個元素都執行一次回撥函式。
from() 通過給定的物件中建立一個數組。
includes() 判斷一個數組是否包含一個指定的值。
indexOf() 搜尋陣列中的元素,並返回它所在的位置。
isArray() 判斷物件是否為陣列。
join() 把陣列的所有元素放入一個字串。
keys() 返回陣列的可迭代物件,包含原始陣列的鍵(key)。
lastIndexOf() 搜尋陣列中的元素,並返回它最後出現的位置。
map() 通過指定函式處理陣列的每個元素,並返回處理後的陣列。
pop() 刪除陣列的最後一個元素並返回刪除的元素。
push() 向陣列的末尾新增一個或更多元素,並返回新的長度。
reduce() 將陣列元素計算為一個值(從左到右)。
reduceRight() 將陣列元素計算為一個值(從右到左)。
reverse() 反轉陣列的元素順序。
shift() 刪除並返回陣列的第一個元素。
slice() 選取陣列的一部分,並返回一個新陣列。
some() 檢測陣列元素中是否有元素符合指定條件。
sort() 對陣列的元素進行排序。
splice() 從陣列中新增或刪除元素。
toString() 把陣列轉換為字串,並返回結果。
unshift() 向陣列的開頭新增一個或更多元素,並返回新的長度。
valueOf() 返回陣列物件的原始值。

案例一:

    <script>
        // 定義一個函式實現陣列翻轉效果,要求函式傳入的引數必須是一個數組,例如[1,2,3,4,5]輸出結果為[5,4,3,2,1]
        // 第一種方法
        function reverse(arr) {
            if (Array.isArray(arr)) {
                var newArray = [];
                    for (var i = arr.length - 1; i >=0; i--){
                    newArray[newArray.length] = arr[i];
                 }
            return newArray;
            }
            return '你輸入的不是一個數組!'
        }
        console.log(reverse([1,2,3,7,8,14]));

        // 第二種方法
        function inputArr(arr) {
            if (Array.isArray(arr)) {
                return arr.reverse();
            }
            return '你輸入的不是一個數組!';
        }
        console.log(inputArr([1,2,3,7,8,14]));
    </script>

案例二:

<script>
// 陣列排序(氣泡排序)
        // 方法一
        var arr = [9, 8, 5, 6, 1, 3];
        arr.sort();
        console.log(arr); // 注:sort方法排序只針對於個位數排序,若陣列包含個位以上元素,則用以下方法。

        // 方法二
        var arr1 = [9, 8, 5, 6, 1, 3];
        arr1.sort(function(a,b) {
            return a - b; // 從小到大排序
        })
        console.log(arr1);

        var arr2 = [9, 8, 5, 6, 1, 3];
        arr2.sort(function(a,b) {
            return b - a; // 從大到小排序
        })
        console.log(arr2);
</script>