你知道map,filter,sort,reduct,every, some 的用法吗?

目录

1.map

2.filter

3.sort 

4.reduct 

5.every 

6.some


1.map

我们可以通过map方法得到某一个对象数组中特定属性的值

let arr = [{id:1,name:"小花"},{id:2,name:"小红"},{id:3,name:"小明"}];
let mapArr = arr.map((item,index)=>{
      return item.name;
 })
mapArr =  ["小花", "小红", "小明"];

2.filter

 新数组中的元素是通过检查指定数组中符合条件的所有元素

// 过滤处特定条件下的数据
let arr = [
      { id: 1, name: "小花" },
      { id: 2, name: "小红" },
      { id: 3, name: "小明" },
    ];
let filterArr = arr.filter((item) => {
   if (item.id == 1) {
       return item;
    }
});
filterArr = [{ id: 1, name: "小花" }];


// 判断数组中是否存在某个值
let boolean = arr.filter(item => item.id===2);


// 去掉数组中不符合项
let newArr = arr.filter(item => item.id>2);
newArr = [{ id: 3, name: "小明" }];


// 数组去重
var arr1 = [1, 2, 2, 3, 4, 5, 5, 6, 7, 7,8,8,0,8,6,3,4,56,2];
var arr2 = arr.filter((x, index,self)=>self.indexOf(x)===index)
arr2= [1, 2, 3, 4, 5, 6, 7, 8, 0, 56]


// 去掉空数组空字符串、undefined、null
let arr3 = ['1','2',undefined, '3.jpg',undefined,null];
let arr4= arr.filter(item => item)
arr4 =  ['1','2', '3.jpg']

3.sort 

 用于排序的,下面的例子将arr1和arr2数组合并,并且根据id进行排序

let arr1 = [
     { id: 4, name: "小花" },
     { id: 2, name: "小红" },
     { id: 3, name: "小明" },
];
let arr2 = [
     { id: 1, name: "小绿" }
];
let sortArr =[...arr1,...arr2].sort((a,b) => {
     return a.id-b.id;
});
sortArr = [
     { id: 1, name: "小绿" },
     { id: 2, name: "小红" },
     { id: 3, name: "小明" },
     { id: 4, name: "小花" }
];

4.reduct 

将数组中对象的耨个属性周丽到另一个数组中

计算数据和

// 将数组中对象的耨个属性周丽到另一个数组中
let arr1 = [
     { id: 4, name: "小花" },
     { id: 2, name: "小红" },
     { id: 3, name: "小明" },
];
let reductArr =arr1.reduce((a,b) => {
    a.push(b.name);
    return a;
},[]);
reductArr = ["小花", "小红", "小明"];


// 计算和
let arr1 = [
    { id: 4, name: "小花" },
    { id: 2, name: "小红" },
    { id: 3, name: "小明" },
];
let reductSum =arr1.reduce((sum,b) => {
     return sum + b.id;
},0);
reductSum = 9;

5.every 

 判定数组中所有字段是否满足测试条件

 let arr1 = [
      { id: 4, name: "小花" },
      { id: 2, name: "小红" },
      { id: 3, name: "小明" },
  ];
  let BooleanEvery = arr1.every(item => {
     return item.id>1;
  });
  BooleanEvery = true;

  6.some

 判定数组中只要有一个字段满足测试条件,即返回true

  let arr1 = [
      { id: 4, name: "小花" },
      { id: 2, name: "小红" },
      { id: 3, name: "小明" },
  ];
  let BooleanSome = arr1.some(item => {
   return item.id>3;
  });
 BooleanSome = true;

希望读到这篇文章会对你有帮助~,有帮助请留下一个赞(*╹▽╹*)

                                                                ——————来自李易峰的小粉丝,凡凡同学

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值