簡體   English   中英

Javascript entry()不返回任何內容

[英]Javascript entries() not returning anything

我想獲取數組元素及其索引,如下所示使用entry(),但它不會打印出任何內容,並且不會給出任何錯誤。

 var array1 = ['a', 'b', 'c']; var iterator1 = array1.entries(); for ([k, v] in iterator1) { console.log(k, v) } 

您應該使用for of代替for in

 var array1 = ['a', 'b', 'c']; var iterator1 = array1.entries(); for ([k, v] of iterator1) { console.log(k, v) } 


另一種方法是使用done屬性和iterators next方法

 var array1 = ['a', 'b', 'c']; var iterator1 = array1.entries(); let result = iterator1.next() while (!result.done) { let [k, v] = result.value console.log(k, v) result = iterator1.next() } 

要使用數組的索引和元素,可以將const [key, value]表示法與of關鍵字結合使用,以便使用迭代器。

 const a = ['a', 'b', 'c']; for (const [index, element] of a.entries()) { console.log(index, element); } // 0 'a' // 1 'b' // 2 'c' 

您也可以直接在迭代器上調用next。

 var array1 = ['a', 'b', 'c']; var iterator1 = array1.entries(); console.log(iterator1.next().value); // expected output: Array [0, "a"] console.log(iterator1.next().value); // expected output: Array [1, "b"] 

另請參閱: Mozilla文檔-Array.entries()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM