js數組的 entries() 獲取迭代方法
1、entires() 方法語法詳解
entries()
方法返回一個數組的迭代對象,該對象包含數組的鍵值對 (key/value)
。
迭代對象中數組的索引值作為 key
, 數組元素作為 value
。它的原型(__proto__:Array Iterator)
上有一個next
方法,可用用於遍歷迭代器取得原數組的[key,value]
。這裡需要知道相關迭代器的知識。
2、entires() 方法常見使用及註意
2.1 返回迭代器對象
var arr = ["red", "blue", "green"] var x = arr.entries() console.log(x); // Array Iterator {} console.log(x.next()) //{value: Array:[0, "red"],done:false} console.log(x.next()) //{value: Array:[1, "blue"],done:false} console.log(x.next()) //{value: Array:[2, "green"],done:false} console.log(x.next()) //{value: undefined, done: true}
2.2 for…of…的使用
const options = [1, , , , 5]; for (const [index, value] of options.entries()) { console.log(value); } // 0 1 // 1 undefined // 2 undefined // 3 undefined // 4 5
2.3 二維數組行排序
function sortTwo(arr) { var entries = arr.entries() var flag = true while (flag) { var res = entries.next() if (!res.done) { res.value[1].sort((a, b) => a - b); flag = true } else { flag = false } } return arr } var arr = [[1, 3, 2], [44, 33], [11, 55, 44, 33]] sortTwo(arr) console.log(arr);// [[1, 2, 3], [33, 44], [11, 33, 44, 55]]
上面的代碼中 sortTwo
方法中首先獲取傳入數組的迭代對象,然後通過定義一個初始化標識為 true
,通過遞歸調用迭代對象 entires
的 next
方法賦值給 res
對象,判斷res
對象的d one
屬性,若該值為 true
表示可以遞歸,res.value
對應的是二維數組的每一行,對該項進行排序即可,若值為 flase
表示結束遞歸。
總結:
到此這篇關於js數組的 entries() 獲取迭代方法的文章就介紹到這瞭,更多相關js數組 entries() 獲取迭代內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 一文徹底理解js原生語法prototype,__proto__和constructor
- JavaScript中你不知道的Object.entries用法
- JavaScript前端迭代器Iterator與生成器Generator講解
- 27個JavaScript數組常見方法匯總與實例說明
- ES6的循環與可迭代對象示例詳解