js數(shù)組的 entries() 獲取迭代方法
1、entires() 方法語(yǔ)法詳解
entries()
方法返回一個(gè)數(shù)組的迭代對(duì)象,該對(duì)象包含數(shù)組的鍵值對(duì) (key/value)
。
迭代對(duì)象中數(shù)組的索引值作為 key
, 數(shù)組元素作為 value
。它的原型(__proto__:Array Iterator)
上有一個(gè)next
方法,可用用于遍歷迭代器取得原數(shù)組的[key,value]
。這里需要知道相關(guān)迭代器的知識(shí)。
2、entires() 方法常見(jiàn)使用及注意
2.1 返回迭代器對(duì)象
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 二維數(shù)組行排序
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
方法中首先獲取傳入數(shù)組的迭代對(duì)象,然后通過(guò)定義一個(gè)初始化標(biāo)識(shí)為 true
,通過(guò)遞歸調(diào)用迭代對(duì)象 entires
的 next
方法賦值給 res
對(duì)象,判斷res
對(duì)象的d one
屬性,若該值為 true
表示可以遞歸,res.value
對(duì)應(yīng)的是二維數(shù)組的每一行,對(duì)該項(xiàng)進(jìn)行排序即可,若值為 flase
表示結(jié)束遞歸。
總結(jié):
到此這篇關(guān)于js數(shù)組的 entries() 獲取迭代方法的文章就介紹到這了,更多相關(guān)js數(shù)組 entries() 獲取迭代內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue實(shí)現(xiàn)搜索 和新聞列表功能簡(jiǎn)單范例
本文通過(guò)實(shí)例代碼給大家介紹了Vue實(shí)現(xiàn)搜索 和新聞列表功能簡(jiǎn)單范例,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧2018-03-03vue的異步數(shù)據(jù)更新機(jī)制與$nextTick用法解讀
這篇文章主要介紹了vue的異步數(shù)據(jù)更新機(jī)制與$nextTick用法解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03vue指令v-html使用過(guò)濾器filters功能實(shí)例
在本篇文章里我們給大家整理的是關(guān)于vue指令v-html使用過(guò)濾器filters功能的實(shí)例內(nèi)容,需要的朋友們學(xué)習(xí)下。2019-10-10以v-model與promise兩種方式實(shí)現(xiàn)vue彈窗組件
這篇文章主要介紹了vue彈窗組件之兩種方式v-model與promise,每種方式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-05-05微信小程序用戶(hù)盒子、宮格列表的實(shí)現(xiàn)
這篇文章主要介紹了微信小程序用戶(hù)盒子、宮格列表,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07vue實(shí)現(xiàn)超過(guò)兩行顯示展開(kāi)收起的代碼
這篇文章主要介紹了vue實(shí)現(xiàn)超過(guò)兩行顯示展開(kāi)收起的代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10