您当前的位置:首页 > 网站建设 > javascript
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax | jQuery | 小程序 |

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

51自学网 2022-02-21 13:38:39
  javascript

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() 获取迭代内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


下载地址:
JavaScript 手动实现instanceof的方法
Vue实现简单的发表评论功能
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。