遍历器合集

1.for循环

for 循环是 Js 中最常用的一个循环工具, 经常用于数组的循环遍历。

            let arr = [1, 2, 3];
			for (let i = 0; i < arr.length; i++) {
				console.log(i, arr[i])
			}

2.for in循环

or in 循环主要用于遍历普通对象, i 代表对象的 key 值, obj[i] 代表对应的 value, 当用它来遍历数组时候, 多数情况下也能达到同样的效果, 但是你不要这么做, 这是有风险的, 因为 i 输出为字符串形式, 而不是数组需要的数字下标, 这意味着在某些情况下, 会发生字符串运算, 导致数据错误, 比如: '52' +1 = '521' 而不是我们需要的 53。另外for in 循环的时候, 不仅遍历自身的属性, 还会找到 prototype 上去, 所以最好在循环体内加一个判断, 就用 obj[i].hasOwnProperty(i), 这样就避免遍历出太多不需要的属性。

            let obj = {
 				name: 'zhou',
				age: '**'
			}
			for (let i in obj) {
				console.log(i, obj[i])
			}

3、while 循环同样的遍历 cars 数组, 先用for 循环方法  再比较while循环

我们发现, 它们可以实现同样的效果, 事实上它们底层的处理是一样的, 不过for 循环可以把定义、 条件判断、 自增自减操作放到一个条件里执行, 代码看起来方便一些, 仅此而已。

cars = ["BMW", "Volvo", "Saab", "Ford"];
			var i = 0;
			while (cars[i]) {
				console.log(cars[i] + "<br>")
				i++;
			};


cars = ["BMW", "Volvo", "Saab", "Ford"];
			var i = 0;
			while (cars[i]) {
				console.log(cars[i] + "<br>")
				i++;
			};

4、 do-while 循环

do-while 循环是while循环的一个变体, 它首先执行一次操作, 然后才进行条件判断, 是 true 的话再继续执行操作, 是 false 的话循环结束。

            let i = 3;
			do {
				console.log(i)
				i--;
			}
			while (i > 0)

5、 Array forEach 循环

forEach函数 传入一个回调函数  回调函数的第一个参数代表数组的元素  第二个参数代表元素的下标  他会一个一个的传入  直到结束

			let arr = [1, 2, 3,123];
			arr.forEach(function(i, index) {
				console.log(i, index)
			})

6、 Array map() 方法

map函数和forEach函数类似一个一个的传参  不过他会返回回调函数中处理后的结果

            let arr = [1, 2, 3];
			let tt = arr.map(function(i) {
				console.log(i)
				return i * 2;
			})
            console.log(tt)//map处理后返回的结果

7、 Array filter() 方法

filter函数也是一个一个传入参数 不过他会返回过滤后的元素    结果为真就返回

            let arr = [1, 2, 3];
			let tt = arr.filter(function(i) {
				return i > 1;
			})

8、 Array some() 方法

some方法和filter类似  不过他判断为真或假就返回布尔值 

			let arr = [1, 2, 3];
			let tt = arr.some(function(i) {
				return i > 1;
			})

10、 Array reduce() 方法

reduce函数是一个累加器  从左到右相加 最后的值为一个    这里传入的参数是1,2,3  函数中就1+2=3  然后3+3=6

reduce回调函数之后加一个0表示在数组的第一位加一个0

遍历数组方式为加0 打印j

            let arr = [1, 2, 3];
			let ad = arr.reduce(function(i, j) {//0,1  1,2  2,3
				return i + j;
			},0)//这里加一个0表示把第一个参数i替换成0
            console.log(ad)//6


            //如果要遍历数组
            let arr = [1, 2, 3];
			let ad = arr.reduce(function(i, j) {
				console.log(j)//1,2,3
			},0)
           

11、 Array reduceRight() 方法

reduceRight() 方法和reduce一样不过是从末尾开始加

            let arr = [1, 2, 3];
			let ad = arr.reduceRight(function(i, j) {
				return i + j;
			})
            console.log(ad)//6

12、for of 循环

for of 循环是 Es6 中新增的语句, 用来替代

for in 和 forEach, 它允许你遍历 Arrays( 数组), Strings( 字符串), Maps( 映射), Sets( 集合) 等可迭代(Iterable data) 的数据结构, 注意它的兼容性。

他不能遍历对象  对象还是要用for in

            let arr = ['name', 'age'];
			for (let i of arr) {
				console.log(i)
			}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值