意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

JS数组中entries()方法可以做什么,用法是怎样的

来源:恒创科技 编辑:恒创科技编辑部
2024-01-22 11:17:59
本篇内容介绍了“JS数组中entries()方法可以做什么,用法是怎样的”的有关知识,在实际项目的操作过程或是学习过程中,不少人都会遇到这样的问题,接下来就让小编带大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
  


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制作淘宝放大镜的代码是什么 下一篇: 手机怎么远程登录云服务器?