数组函数(api)

数组函数(API)

some(查找数组中满足条件的元素)

满足返回true不满足返回false

语法
var 这个变量用来接收返回值 = 查找元素的数组.some(function(这个参数代表的是数组内的元素){
return 参数 === ‘谢老板’
}) 例:

			var arr = [1,2,3,4,'谢老板'];
			var res= arr.some(function(itme){
				console.log(itme);
				return itme === '谢老板';
			})
			console.log(res);

filter(过滤数组中元素,返回满足条件的元素)

filter(回调函数)作用,过滤数组中元素,返回新数组,新数组存放过滤元素
参数 是回调函数
回调函数的第一个参数是数组的元素
回调函数的第二个参数是数组元素的索引值

例:

		var arr =[
			{name:'aa',age:32 },
			{name:'aa',age:33 },
			{name:'aa',age:34 },
			{name:'aa',age:35 }
		]
		var res = arr.filter(function(itmes,index){
			//第一个回参itmes是代表数组中的元素
			//第二个回参index 代表元素中的索引值
			
			
			//可以先修改元素后筛选元素
			// itmes.age = itmes.age+'857'
			// return后面一般跟条件表达式
			// 变量res 接收满足条件的所有元素,并存放在数组中
			return itmes.age>32
		})
		console.log(res)

forEach()(遍历数组,无返回值)

参数:回调函数
回调函数的参一是数组元素
回调函数的参数二是数组元素的索引值
例:

var arr =[
		{name:'aa',age:32 },
		{name:'aa',age:33 },
		{name:'aa',age:34 },
		{name:'aa',age:35 }
	]
	arr.forEach(function(itmes,index){
		console.log('索引值=',index);
		console.log('遍历元素=',itmes);
		document.write(`
		<li>
			<span>${itmes.name}</span>
			<span>${itmes.age}</span>
		</li>
		`)
	})

map()数据的重组

  1. 用法一
    遍历数组,返回新的数组,新数组的内容是ruturn表达式的运算结果,与过滤的区别是,过滤返回的是满足runturn表达式的元素。例
var arr = [
        { naem: "aa", age: 32 },
        { naem: "aa", age: 31 },
        { naem: "aa", age: 33 },
        { naem: "aa", age: 34 },
      ];
      var newArr = arr.map(function (item, index, arr) {
        console.log(arr);
        // item 数组元素 index 是索引 arr 是原数组
        console.log(item, index);
        // newArr 存放return 返回的内容
        return item;
      });
      console.log(newArr);
  1. 用法二
    修改数据,重组数据,原来的arr不发生改变,返回新的数组,可以配合一些运算改变数组里元素的值
    例1:
 var arr1 = [1, 2, 3, 5];
      var newArr1 = arr1.map(function (item) {
        return item * 2;
      });
      console.log(newArr1);
      console.log(arr1);
	例2:
var arr1 = [1, 2, 3, 5];
 //   求数组中每个元素的平方根
      var res = arr1.map(Math.sqrt); // 把Math.sqrt 定义的函数作为map的参数
      console.log(res, arr1);
  1. 用法三
    使用map方法重新格式化数组中的对象
    例:
var arr2 = [
          {key:0,value:10},
          {key:1,value:20},
          {key:2,value:30},
      ]
      // [{0:10},{1:20},{2:30}]  目标结构
      var  res1 = arr2.map(function(item){
          var obj = {}
          // obj 进行添加属性并赋值处理
          obj[item.key] = item.value
          console.log(obj);
          return obj
      })
      console.log(res1,arr2);

reduce() 实现累加计算,返回运算结果

参一是函数,参二是给回参一赋初始值。
回参一是累计计算的结果
回参二是参与计算的数据
回参三是索引值
回参四是原数组
例:

var orders = [
          {produce:'苹果',total:328,id:123},
          {produce:'香蕉',total:967,id:124},
          {produce:'香奈儿',total:32854,id:125},
          {produce:'大鸭梨',total:3281,id:126},
          {produce:'笔',total:388,id:127}
      ]
      var res =  orders.reduce(function(sum,item){
          // sum = 0  
          
          console.log(sum,'=========');
          return sum+item.total
      },0);
      console.log(res);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值