数组对象过滤

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


前言

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


一、过滤掉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

总结

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

相关推荐

  1. 数组对象过滤

    2024-02-06 22:14:01       56 阅读
  2. js 数组过滤删除空对象

    2024-02-06 22:14:01       25 阅读
  3. NumPy 数组对象

    2024-02-06 22:14:01       40 阅读
  4. 数组数组对象去重

    2024-02-06 22:14:01       34 阅读
  5. 对象指针与对象数组(拉丁舞)

    2024-02-06 22:14:01       34 阅读
  6. 面向对象和面向过程

    2024-02-06 22:14:01       52 阅读
  7. 面向过程和面向对象

    2024-02-06 22:14:01       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-06 22:14:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-06 22:14:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-06 22:14:01       82 阅读
  4. Python语言-面向对象

    2024-02-06 22:14:01       91 阅读

热门阅读

  1. k8s的Deployment部署策略线上踩坑

    2024-02-06 22:14:01       47 阅读
  2. 算法.1-三大排序算法-对数器-二分

    2024-02-06 22:14:01       42 阅读
  3. 软件系统架构的演变历史介绍

    2024-02-06 22:14:01       52 阅读
  4. OpenHarmony开源鸿蒙开发之旅

    2024-02-06 22:14:01       59 阅读
  5. 系统架构设计师-21年-上午答案

    2024-02-06 22:14:01       45 阅读
  6. Droppy教程 | 轻量文件共享

    2024-02-06 22:14:01       67 阅读
  7. 【国产MCU】-CH32V307-模拟/数字转换器(ADC)

    2024-02-06 22:14:01       52 阅读
  8. centos找不到新建的硬盘信息

    2024-02-06 22:14:01       50 阅读
  9. 开发板和单片机的比较

    2024-02-06 22:14:01       50 阅读
  10. final、finally、finalize区别

    2024-02-06 22:14:01       45 阅读
  11. docker安装minio

    2024-02-06 22:14:01       57 阅读