100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > js循环(for/for in/forEach/map/for of)详解

js循环(for/for in/forEach/map/for of)详解

时间:2020-08-04 13:44:36

相关推荐

js循环(for/for in/forEach/map/for of)详解

1. 基础循环 for

for (var i = 0; i < list.length; i++) {//循环体}复制代码

最基础的循环也有优化的空间:整个循环中数组的长度是不会改变的

for (var i = 0, len = list.length; i < len; i++) {//循环体}复制代码

2. for in 循环 遍历对象的属性或数组索引

for in 允许循环以不同的顺序遍历对象的属性。如果算法依赖于遍历的顺序,最好不适用for in 还是选择常规的for循环。

for (var key in obj) {//循环体}复制代码

3. ES5 forEach()方法

forEach()参数函数包含三个参数(item,index,list) 数组元素 元素索引 和数组本身。后两个参数可省略。对数组进行值操作,会改变原来数组的值。forEach()在循环过程中无法终止遍历,即没有break语句,可使用try catch 抛出foreach.break异常提前终止。

var data = [1, 2, 3, 4, 5];data.forEach((item, index, list) => {list[index] = item + 1;})console.log(data); // =>[2, 3, 4, 5, 6]复制代码

4. ES5 map()方法

map()将数组的每个元素给指定的函数,并返回一个数组,需要有返回值。map()返回的是一个新的数组,不修改调用的数组。

var data = [1, 2, 3];var b = data.map((item) => {return item * item;})console.log(b); // =>[1, 4, 9]复制代码

5. ES6 for of循环

for of循环可以使用的范围包括数组、Set 和 Map 结构、某些类似数组的对象(比如arguments对象、DOM NodeList 对象)。获取数组的值

const arr = ['red', 'green', 'blue'];for(let v of arr) {console.log(v); // red green blue}复制代码

2.获取数组的键 值 键值对。 keys()是对键名的遍历、values()是对键值的遍历,entries()是对键值对的遍历。

const arr = ['a', 'b'];for (let index of arr.keys()) {console.log(index); // 0 1}for (let elem of arr.values()) {console.log(elem); // 'a' 'b'}for (let [index, elem] of arr.entries()) {console.log(index, elem); // 0 "a" 1 "b"}复制代码

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。