AI智能
改变未来

js–数组的 entries() 获取迭代方法详解


前言

  本文来总结一下数组的 entries() 方法的使用。

正文

  1、entires() 方法语法详解

  entries() 方法返回一个数组的迭代对象,该对象包含数组的键值对 (key/value)。

  迭代对象中数组的索引值作为 key, 数组元素作为 value。它的原型(__proto__:Array Iterator)上有一个next方法,可用用于遍历迭代器取得原数组的[key,value]。这里需要知道相关迭代器的知识。

  2、entires() 方法常见使用及注意

  (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)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

  (3)二维数组行排序

function sortTwo(arr) {var entries = arr.entries()var flag = truewhile (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[1] 对应的是二维数组的每一行,对该项进行排序即可,若值为 flase 表示结束递归。

写在最后

  以上就是本文的全部内容,希望给读者带来些许的帮助和进步,方便的话点个关注,小白的成长之路会持续更新一些工作中常见的问题和技术点。

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » js–数组的 entries() 获取迭代方法详解