IE9及以上才支持的js数组高阶函数

ES5新增了一些数组的操作方法,如果不考虑IE6-IE8的话用起来真的很方便,自己实践一番之后,把用法贴了给大家。

			//indexOf()方法返回在该数组中第一个找到的元素位置,如果它不存在则返回-1。 
			//lastIndexOf() 最后出现的位置
			var arr = ['apple','orange','pear'];			 
			console.log("found:", arr.indexOf("orange") != -1);	
			
			//forEach遍历
			var numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
				sum = 0;
			numbers.forEach(
				function(number) {
					sum += number;
				}
			);
			console.log(sum);
			
			//map 返回一个新的数组
			var arr = [1, 9, 4, 16, 25];
			var arr2 = arr.map(function(x) {
				return x * 2;
			})
			var arr3 = arr.map((Math.sqrt))
			console.log(arr2);
			
			//filter 数组过滤,返回满足条件的项
			var persons = [{
				"name": "lili",
				"sex": "female",
				"age": 18
			}, {
				"name": "zack",
				"sex": "male",
				"age": 20
			}, {
				"name": "ruby",
				"sex": "female",
				"age": 24
			}, {
				"name": "leo",
				"sex": "male",
				"age": 30
			}, {
				"name": "lucy",
				"sex": "female",
				"age": 35
			}, ];
			var passedBySex = persons.filter(
				function(person) {
					return person.sex == "male";
				});
			console.log(passedBySex);
			
			//reduce() 方法接收一个函数作为累加器,第二个参数为初始值
			//reduceRight() 从后向前
			var arr = [1, 2, 3, 4, 5];
			sum = arr.reduce(function(prev, cur, index, arr) {
				console.log(prev, cur, index);
				return prev + cur;
			}, 10)
			console.log(arr, sum);
			
			//every函数的作用类似于运算符&&
			var numbers = [11,12,13,14,22,23];  
			var test=numbers.every(function(num){  
			  return num>10;  
			});  
			console.log(test);  
			
			//some函数的作用类似于||
			test=numbers.some(function(num){  
			  return num>16;  
			});  
			console.log(test); 			
		</script>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值