JS內建物件-Array物件
阿新 • • 發佈:2020-11-27
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>