JS数组中entries()方法可以做什么,用法是怎样的
Admin 2022-07-02 群英技术资讯 544 次浏览
entries()
方法返回一个数组的迭代对象,该对象包含数组的键值对 (key/value)
。
迭代对象中数组的索引值作为 key
, 数组元素作为 value
。它的原型(__proto__:Array Iterator)
上有一个next
方法,可用用于遍历迭代器取得原数组的[key,value]
。这里需要知道相关迭代器的知识。
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}
const options = [1, , , , 5]; for (const [index, value] of options.entries()) { console.log(value); } // 0 1 // 1 undefined // 2 undefined // 3 undefined // 4 5
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
表示结束递归。
总结:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家详细介绍了javaScript实现支付10秒倒计时,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
vue怎么给对象数组赋值?在vue中,想要实现给对象数组赋值,我们可以使用this.$set()这个方法,那么具体怎样实现呢?为何用this.$set()?下面我们一起来详细的了解一下。
这篇文章主要为大家介绍了vue组件通信的几种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
今天给大家分享的是React Hooks使用要注意问题的内容,本文有实例和详细注释供大家参考,对大家理解Hooks的使用有一定的帮助,接下来跟随小编一起看看吧。
目录前言动画的本质动画的实现动画的推导小结前言到目前为止我们的 fabric.js 雏形已经有了,麻雀虽小五脏俱全,我们不仅能够在画布上自由的添加物体,同时还实现了点选和框选,并且能够对它们做一些变换,不过只有变换这个操作还不够灵活,要是能够让物体动起来就好了,于是就引入了这个章节的主题:动画,以及动画最核心的一个问题
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008