数组方法 数组遍历

数组方法 数组遍历

let arr = [1,2,3,4,5]
			let str = arr.join('.')
			console.log(str);
			
			let str = "string-Text";
			let arr = str.split('-');
			console.log(arr);
			
			 let arr = ['name','true','false']
			 let arr1 = [1,3,5,24,6,7,9,4,6,22,13]
			arr.push("dinner");
			
			console.log(arr.push("dinr"));//在数组后面添加元素。返回值是5(数组长度)
			console.log(arr.pop("dinr"));//删除所选元素,返回被删除的元素
			console.log(arr.unshift("diir","button"));//在数组最前面添加数据。返回新数组长度(6)
			console.log(arr.shift())//删除数组第一个元素,返回被删除的元素
			arr.reverse()//数组反转
			arr.sort();//数组排序
			arr.sort(function(a,b){
				// return a-b; 从小到大
				// return b-a; 从大到小
			})
			
			let arr2 = arr.concat(arr1);
			// let arr3 = arr.push(arr1)
			// console.log(arr3)//输出6 arr的长度
			console.log(arr.slice(2,4));//截取 index从2-4,不改变原数组
			
			arr.splice(3,2)//删除从3开始的两个元素
			arr.splice(0,3,'mamam',"keke","diudiu",'wiwei','diudiu',"dongdong","zhuzhu")//在删除位置添加新元素
			
			console.log(arr.indexOf("diudiu"));//返回第一次出现所包含元素的index,
			
			
			if(arr.indexOf("diudiu") == -1){
				console.log("该元素不存在")
			}else{
				console.log("该元素存在");
			}
			// 删除或增加元素(任意在任何位置,直接改变原数组,没有返回值)
			
			console.log(arr.lastIndexOf("diudiu"));//最后一次出现该元素的index值
			
			arr.forEach(function(item,index,arr){
				// item 为数组包含项
				//index为数组下标
				//arr为原数组
				//无返回值
			})
			
			let arr4 = arr.map(function(item,index,arr){
				return item+"e"
				//有返回值,返回一个新数组,新数组长度和原数组长度相同
			})
			console.log(arr4);
			let arr5 = arr1.filter(function(item,index){
				return item % 3 === 0
				//过滤器,返回符合过滤条件的选项组成一个新数组
			})
			console.log(arr5);
			
			let arr6 = ['',1,false,'true',3];
			let arr7 = arr6.filter(function(item,index){
				return item
				//过滤出布尔类型为真的选项
			})
			console.log(arr7);
			
			let arr8 = [
			  { name: "zs", age: 18, done: "notYet" },
			  { name: "ls", age: 20, done: true },
			  { name: "ww", age: 22, done: true }
			];
			
			let res5 = arr.some(function(item) {
			  return item.name;
			});
			console.log(res5);//返回值为true or false
			
			let arr9 = arr8.every(function(item){
				return item.done//返回值为true 或者 false
			})
			
			let arr10 = arr8.find(function(item){
				return item.done
				//返回值为符合条件的第一项{name: 'zs', age: 18, done: 'notYet'}
			})
			
			let arr11 = arr8.findIndex(function(item){
				return item.done
				// 返回值为符合条件的第一项的下标
			})
			
			let arr12 = arr1.reduce(function(pre,next,index){
				return pre+next;
				// 求和 *第一次:pre–>1 next–>2 index–>1
				// pre+next=1+2=3
				// *第二次:pre–>3 next–>3 index–>2
				// pre+next=3+3=6
				// *第三次:pre–>6 next–>4 index–>3
				// pre+next=6+4=10
				// *第四次:pre–>10 next–>5 index–>4				
			})
			
			let arr13 = [[1,2,3],[4,5],[6,7]] ;
			let arr14 = arr13.reduce(function(pre,next,index){
				return pre.concat(next)
				// 扁平化数组
			})
			
			let arr15 = [
				{price:10,count:1},
				{price:15,count:2},
				{price:10,count:3}
				];
			let arr16 = arr15.reduce(function(pre,next,index){
					return pre+next.price*next.count;
			},2)	//在原数组第一项添加为2,不改变原数组,则可不操作第一项
			
			let arr17 = arr.reduce(function(allNames,name){
				// allnames 初始值
				// name 当前元素
				if(name in allNames){
					allNames[name]++;}
					else{
						allNames[name]=1
					}
					return allNames
				
			},{})
			console.log(arr17);
			console.log(arr);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值