JS遍历器、算总价的方法

178 阅读1分钟

遍历器:

1.for循环

<script type="text/javascript">
		var arr=[1,2,3,45,5];
		for(var i=0;i<arr.length;i++){
			console.log(i,arr[i])
		}
	</script>
            

image.png

2.for in循环:可以遍历任意对象

<script type="text/javascript">
		var arr=[23,67,29];
		for(let  i in arr){
			console.log(arr[i])
		}
		var obj={name:"karen",age:"24"}
		for(let key in obj){
			console.log(key)
			obj[key]
			
		}
	</script>
            

image.png

3.while循环:已知结束条件

<script type="text/javascript">
		var arr=["karen","wolow","ford","sabb"]
		var i=0
		while(i<arr.length){
			console.log(arr[i])
			i++
		}
	</script>
            

image.png

4.do-while循环:

<script type="text/javascript">
		var arr=["karen","wolow","ford","sabb"]
		var i=0
		do{
			console.log(arr[i])
			i++
		}while(i<arr.length)
	</script>

image.png

5.forEach(item,index,arr)方法
item:数组每一项;index:索引位置;arr:原数组

<script type="text/javascript">
		var arr=[1,2,3,4,5];
		var re=arr.forEach(function(el){
			console.log(el)
		})
		console.log(re)
	</script>

image.png

image.png

image.png

image.png

6.map(元素,下标,数组)方法

<script type="text/javascript">
		var arr=[1,2,3];
		var re=arr.map(function(el){
			console.log(el)
			return 100
		})
		console.log(re,arr)
	</script>

image.png

7.筛选函数:arr.filter()方法:返回值为布尔值,如果返回值为真,则返回原数组,如果为假,则返回空数组

<script type="text/javascript">
		var arr=[1,2,3,4,5];
		var re=arr.filter(function(el,i,arr){
			console.log(arr[i]);
			return 58
		})
		console.log(re)
	</script>

image.png

8.筛选函数:arr.some(function(item,index,arr){})方法:返回值为布尔值,只要有一个返回值为真,那么返回就为true

<script type="text/javascript">
		var arr=[1,2,3,4,5,6];
		var re=arr.some(function(el){
			console.log(el)
			return el>5
		})
		console.log(re)
	</script>

image.png

9.reduce(当前起始位置/之前值的累加和,item):参数是从左到右的,一般用于算购物车的总价

<script type="text/javascript">
		var arr=[10,20,39];
		var total=arr.reduce(function(a,b){
			console.log(a,b)
			return a+b
		},0)
		console.log(total)
	</script>
            

image.png

10.reduceRight()方法:就是参数是从右到左的,其他和上面的reduce()方法一样

补充一下算总价的方法:var re=eval(arr.join("+"));console.log(re)

11.for of循环:前提:遍历可遍历的对象

12.筛选函数:arr.every()方法:返回值为布尔值,只要有一个返回值为false,那么返回就为false