新增的遍历方法有:1、findIndex(),可遍历数组,查找匹配的元素;2、find(),可遍历数组,查找第一个匹配的元素;3、entries(),对键值对进行遍历;4、keys(),对键名进行遍历;5、values(),对键值进行遍历。
本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。
ES5中常用的10种遍历方法:
1、原始的for循环语句
2、Array.prototype.forEach数组对象内置方法
3、Array.prototype.map数组对象内置方法
4、Array.prototype.filter数组对象内置方法
5、Array.prototype.reduce数组对象内置方法
6、Array.prototype.some数组对象内置方法
7、Array.prototype.every数组对象内置方法
8、Array.prototype.indexOf数组对象内置方法
9、Array.prototype.lastIndexOf数组对象内置方法
10、for...in
循环语句
findIndex(callback [, thisArg])查找数组中匹配的元素
找到一个就返回匹配的元素的下标,没找到就返回-1。 let arr = [1, 2, 3, 4, 5, 6]// 此时我们找大于2的数 let newArr = arr.findIndex(val => {return val > 2}) console.log(newArr) // 2
find(fn(callback [, thisArg])
查找数组中匹配的元素,找到一个就返回匹配的元素,没找到就返回undefined。
注:下面的例子相对于需求是一个错误的示范,因为我们要找出大于2的数,当找到匹配到3时,满足条件,函数就会停止。
例:
let arr = [1, 2, 3, 4, 5, 6] // 此时我们找大于2的数 let newArr = arr.find(val => { return val > 2 }) console.log(newArr) // 3
entries() , keys() 和 values()
ES6 提供三个新的方法 —— entries(),keys()和values() —— 用于遍历数组和对象。它们都返回一个遍历器对象,可以用for...of
循环进行遍历,唯一的区别是keys()是对键名的遍历、values()是对键值的遍历,entries()是对键值对的遍历。
for (let index of ['a', 'b'].keys()) { console.log(index); } // 0 // 1 for (let elem of ['a', 'b'].values()) { console.log(elem); } // 'a' // 'b' for (let [index, elem] of ['a', 'b'].entries()) { console.log(index, elem); } // 0 "a" // 1 "b"
如果不使用for...of循环,可以手动调用遍历器对象的next方法,进行遍历。
let letter = ['a', 'b', 'c']; let entries = letter.entries(); console.log(entries.next().value); // [0, 'a'] console.log(entries.next().value); // [1, 'b'] console.log(entries.next().value); // [2, 'c']
【相关推荐:javascript视频教程、web前端】
以上是es6新增的遍历方法有哪些的详细内容。更多信息请关注PHP中文网其他相关文章!