数组对象过滤

本文介绍一些针对于数组对象最常用的操作。


前言

在实际的开发过程中我们最常用到的就是对数组对象进行各种各样的操作了,这里我罗列一些最基本的操作,欢迎各位大佬在评论区补充!


一、过滤掉status为null的对象

const arr = this.auditHistoryList.filter(v => v.status !== null);

二、过滤特定属性得到新数组

var lesseeEntList = arr.filter(v => v.entType === 'lessee') || [];

var rentEntList = arr.filter(v => v.entType === 'rent') || [];

三、根据属性值拆分到新数组

// 根据isIn属性进行判断
const rendInList = [];
const rendOutList = [];
resData.data.entRentInfo.forEach(item => {
    (item.isIn ? rendInList : rendOutList).push(item);
});
this.rendInList = rendInList;
this.rendOutList = rendOutList;

四、数组对象合并

1.两个数组根据某一相同值进行合并

const arr = this.landList.map(v => {
    const item = this.appealLandList.find(v2 => v.unitNumber === v2.unitNumber) || {};
    return {
      ...v,
      id: item.id,
      fillDataId: item.fillDataId,
      appealLandArea: item.appealLandArea
    };
});

2.多个数组相同属性值合并为一个,不同属性值合并为数组值

this.chartSearchList = [];
res.data.forEach(item => {
            // 查找结果数组中是否已经存在该 id 的对象
            const index = this.chartSearchList.findIndex(
              r => r.id === item.categoryId
            );
            // 如果不存在,则添加该 id 对应的新对象
            if (index === -1) {
              this.chartSearchList.push({
                id: item.categoryId,
                nameList: [item.name]
              });
            }
            // 如果已经存在,则将该对象的 name 添加到 nameList 数组中
            else {
              this.chartSearchList[index].nameList.push(
                item.name
              );
            }
 });

五、判断值是否为数组

// 判断value是否为数组
Array.isArray(value) // true/false

总结

以上就是今天要讲的内容,本文仅仅简单介绍了数组对象的使用,更多内容还希望大家积极补充。

  • 25
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值