js数组的 entries() 获取迭代方法
短信预约 -IT技能 免费直播动态提醒
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() 获取迭代内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341