JavaScript 陣列values()

admin發表於2018-08-30

在ES2015之前,我們遍歷陣列元素的值,可以使用如下方式:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let arr = ["螞蟻部落", "www.softwhy.com", 4, "antzone"];
for(let index=0;index<arr.length;index++){
  console.log(arr[index]);
}

非常簡單,使用for迴圈即可實現,更多內容可以參閱JavaScript for迴圈語句一章節。

ES2015新增values方法,它會返回一個物件,包含指定陣列的元素值。

注意,此物件比較特殊,是一個遍歷器物件,那麼就可以使用for of進行遍歷。

關於遍歷器物件可以參閱JavaScript Iterator遍歷器一章節。

與values方法功能比較類似的陣列方法還有如下兩個:

(1).JavaScript 陣列keys()一章節。

(2).JavaScript 陣列entries()一章節。

三個方法的區別從名字就可以看出,下面大體介紹一下:

(1).values方法獲取陣列的元素值。

(2).keys方法獲取陣列的鍵,也就是陣列的索引。

(3).entries方法最為全面,不但可以獲取元素值也可以獲取索引。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
arr.values()

特別說明:此方法是ES2015新增。

瀏覽器支援:

(1).IE瀏覽器支援此方法。

(2).edge瀏覽器支援此方法。

(3).谷歌瀏覽器支援此方法。

(4).opera瀏覽器支援此方法。

(5).火狐瀏覽器支援此方法。

(6).safria瀏覽器支援此方法。

程式碼例項:

[JavaScript] 純文字檢視 複製程式碼
let arr = ["螞蟻部落", "www.softwhy.com", 4, "antzone"];
var iterator = arr.values();
console.log(iterator);

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201808/30/002902fyxnxajdd732pdnu.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

由上面截圖可以看出,此方法的返回值是一個遍歷器物件。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let arr = ["螞蟻部落", "www.softwhy.com", 4, "antzone"];
var iterator = arr.values();
for (let elem of iterator) {
  console.log(elem);
}

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201808/30/002943t1b01ichlii9ibl1.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

value方法獲取的是陣列中元素的值,既然是一個遍歷器物件。

那麼就可以使用for of進行遍歷,順序是按照陣列中元素索引有小到下。

相關文章