概述
Array是用于構(gòu)造數(shù)組的全局對象枣抱,同時也是構(gòu)造函數(shù)。
一般可以使用直接量來創(chuàng)建一個數(shù)組對象, 數(shù)組中的元素類型可以不一樣
構(gòu)造一個數(shù)組
const arr = [1, 2, '3']
也可以用構(gòu)造函數(shù)來創(chuàng)建一個數(shù)組
const arr1 = new Array(1, 2, 3) //參數(shù)就是數(shù)組中的元素
const arr2 = new Array(1) //當只傳入一個參數(shù)且該參數(shù)為非負整數(shù)時靡菇,該參數(shù)為新數(shù)組的length
Array的屬性和方法
作為一個對象便斥,Array有自己的屬性和方法
屬性
- Array本身沒有自有屬性饶火,其屬性繼承字原型對象
Object.keys(Array) //[], 即數(shù)組沒有可枚舉自有屬性
方法
-
Array.isArray
判斷一個對象是不是數(shù)組鹏控,返回boolean
Array.isArray([1, 2, 3]) // true Array.isArray({foo: 123}) // false
-
Array.from
從一個類數(shù)組對象或者可迭代對象中創(chuàng)建一個新數(shù)組- 類數(shù)組對象
擁有一個length
屬性和若干索引屬性的任意對象
Array.from('foo') //[ 'f', 'o', 'o' ]
- 可迭代對象
從ES6的角度來說,就是Symbol.iterator
屬性不為空
let s = new Set(['foo', window]) Array.from(s) // [ 'foo', window ]
- 類數(shù)組對象
Array.of
創(chuàng)建一個具有可變數(shù)量參數(shù)的新數(shù)組對象肤寝,而不考慮參數(shù)的數(shù)量或類型当辐。與直接調(diào)用構(gòu)造函數(shù)的區(qū)別在于傳入一個非負整數(shù)時效果不同
Array.of(1, 2, 3) //[ 1, 2, 3 ]
Array.of(4) //[ 4 ]
new Array(1, 2, 3) //[ 1, 2, 3 ]
new Array(4) //[ , , , ]