js 数组根据属性值进行分类

vue 根据数组对象属性值分类,把一个数组拆分为多个数组 前端必备技能之一,按需分类 有给的数据时候为了处理数据方便一些,后端给的数据可能不是我们想要的数据结构,这时候就需要你稍微做一点点的处理才能为自己所用 现在有这样一个数组,后端给的, policyDtos: [{clazzType: 1, clazzTypeText: '限签', remark: '严格限签', sourceTypeText: '地区收集'}, {clazzType: 2, clazzTypeText: '限售', remark: '限售', sourceTy 阅读详情

分类出来的数组有三种格式,看需要哪种

方法一:

  let list = [
    { id: 1, val: 100, name: '张' },
    { id: 2, val: 100, name: '刘' },
    { id: 3, val: 300, name: '林' },
    { id: 4, val: 200, name: '许' },
    { id: 5, val: 100, name: '周' },
    { id: 6, val: 200, name: '张' }
  ]

  let nData = classifyArr(list, 'val')
  console.log(nData) //格式见下图
  
  //arr传需要分类的数组,objName传根据哪个属性值进行分类
  function classifyArr(arr, objName) {
    const dataArr = []
    arr.forEach((item) => {
      const key = item[objName]
      let res = dataArr.some((node) => {
        // 判断相同,有就添加到当前项
        if (node[objName] == key) {
          node.list.push(item)
          return true
        }
      })
      if (!res) {//如果没找相同添加一个新对象
        let newObj = {
          list: [item]
        }
        newObj[objName] = key
        dataArr.push(newObj)
      }
    })
    return dataArr
  }

nData打印出来的格式为:
在这里插入图片描述

方式二:

  let list = [
    { id: 1, val: 100, name: '张' },
    { id: 2, val: 100, name: '刘' },
    { id: 3, val: 300, name: '林' },
    { id: 4, val: 200, name: '许' },
    { id: 5, val: 100, name: '周' },
    { id: 6, val: 200, name: '张' }
  ]
  let newData = {}
  list.forEach((item) => {
    // 新建属性名
    if (Object.keys(newData).indexOf('' + item.val) === -1) {
      newData[item.val] = []
    }
    // 对应插入属性值
    newData[item.val].push(item)
  })
  console.log(newData))//格式见下图

在这里插入图片描述

方式三:格式为[ [ ],[ ] ]

以前写过不写了、链接:数组根据属性对象进行分类

红外协议 IR NEC 协议深度解析-简单易懂协议详解 1. 协议特征 使用双向编码(又称曼彻斯特编码); 使用38K载波对编码后的波形进行调制; 位时间 1.12ms 或 2.25ms 2. 调制 定义脉冲560µS为脉冲基本宽度T; 根据脉冲时间长短来解码。推荐载波占空比为1/3至1/4: (1) Logic “1” 位宽为2.25ms,脉冲时间560us(T + 3T); (2) Logic “0” 位宽为1.12ms,脉冲时间560us(T + T)。 (3 ) 重复码: 位宽为11.25ms,脉冲时间9ms(16T + 4T)。 3. 协议 阅读详情

相关推荐

ANSYS Fluent 2023R2实战:用欧拉多相流模型搞定流化床模拟(附详细参数避坑)

本文详细解析了ANSYS Fluent 2023R2中欧拉多相流模型在流化床模拟中的应用,包括模型选择、材料属性设置、相间作用力配置及初始化技巧。特别针对高颗粒浓度工况提供参数优化方案,帮助工程师提升模拟精度与效率,适用于化工、能源等领域的流化床反应器设计。

weixin_30938149的博客 269

JS 将数组中的对象,按其中的一对属性进行分类。

首先把所有的键名拿出来作为键值,然后设置一个空数组以后存属性相同的对象,组成一个对象存到arr里。第三步,将那原始数据中,键值相等的对象追加到,这个arr里对象的data中,分类完成。第二步,将arr里面重复的键值进行去重,就可以得到总共可以分为多少类。mes.docList里是一个数组,里面保存着要分类的对象。

weixin_69903461的博客 450

创新实训项目博客:基于LoRA的医疗大模型高效微调实战

预训练大语言模型(LLMs)虽然具备了广泛的知识和一定的通用能力,但在特定领域(如医疗)或特定任务(如遵循特定指令格式进行思考链推理)上,其表现往往不尽如人意。微调(Fine-tuning)能够使模型学习到特定领域的数据分布和任务模式,从而在目标任务上获得更好的性能,使其更贴合实际应用需求。使用Unsloth框架加载并以4-bit量化模型。基于数据集,构建了包含明确思考链引导的训练Prompt。配置了LoRA参数,并使用SFTTrainer在单张T4 GPU上对模型进行了高效微调。

m0_73556916的博客 1291

JS 根据数组对象属性值分类,把一个数组拆分为多个数组

在工作中有时前台展示需求的不同要把后台的数组对象进行再分类。 举个栗子: let arr = [ { date: '2018-01-06',SW: '90.95', LL: '136', XXSW: '80.22',CKLL: '500' }, { date: '2018-01-06', SW: '164.95', LL: '137', XXSW: '99.22', CKLL: '93' }, { date: '2018-01-07', SW: '176.95', L.

hmily43的博客 7526

CHI里的Error handling机制

本文讲解了CHI里的Error handling机制。

W1Z1Q的专栏 2502

DDR内存Prefetch机制详解:从DDR1到DDR4的技术演进与性能提升

本文深入解析DDR内存Prefetch机制从DDR1到DDR4的技术演进与性能提升。通过分析Prefetch技术的实现原理与Burst传输的协同机制,揭示DDR1的2n Prefetch、DDR2的4n Prefetch、DDR3的8n Prefetch以及DDR4的Bank Group架构创新如何显著提升内存带宽与系统性能。

weixin_30369041的博客 540

JavaScript对象数组根据某个属性值筛选分类

JavaScript对象数组根据某个属性值筛选分类,在开发中,这种需求还是挺常见的,常用于处理后端返回的数据

coderYYY的博客 882

稳定性仿真(stb闭环增益仿真)

stb仿真主要是测试电路的稳定性,例如运放在闭环电路中的增益和相位裕度的值,从而判别电路是否正常工作。 以下是stb仿真的过程: (1)调用iprobe器件 从analogLib中调iprobe器件,通过器件中的箭头标识确定接入电路的方法,箭头起点端连运放的输出端,箭头的终点端连在反馈环路的作用端。iprobe器件连入电路后相当于理想导线。(iprobe器件连接在反馈回路上) (2)analyses设置 勾选stb和frequency,此处的频率范围设置在0.1~1GHz,Probe Instance/T

qq_36686804的博客 3万+

JS实现将数组中某个属性值相同的元素,放在一起

JS实现将数组中某个属性值相同的元素,放在一起

qq_41716992的博客 2204

xsens IMU配置

1.安装驱动 sudo apt-get update sudo apt-get install ros-kinetic-xsens-driver 2.配置IMU 设置输出四元数,加速度、角速度、地磁 cd /opt/ros/kinetic/lib/xsens_driver python mtdevice.py --configure "oq,aa,wr,mf" 3.启动IMU roslaunch xsens_driver xsens_driver.launch 转(https://www.cnblo

qq_41585680的博客 2325

【补充篇】三万字了解AUTOSAR软件架构(一)

主要讲解了AUTOSAR软件架构的分层及各个栈的作用

weixin_47571898的博客 1120

数组的对象元素,按照对象的某个键分类,把键的值相同的放到一个数组里,生成一个新的二维数组

function sortArr(arr, str) { var _arr = [], _t = [], // 临时的变量 _tmp; // 按照特定的参数将数组排序将具有相同值得排在一起 arr = arr.sort(function (a, b) { var s = a[str],

M_Limeng的博客 647

基于ESP32和OV5640的目标检测系统

本文详细介绍了基于ESP32-S3和OV5640摄像头构建目标检测系统的完整方案。系统采用YOLOv8-Nano轻量级模型,通过INT8量化实现边缘部署,在UXGA分辨率下达到25fps帧率。文章从硬件选型、图像采集优化、模型量化部署、实时推理流水线构建等维度展开,重点解决了内存管理、电源稳定性和异常处理等嵌入式系统关键问题。该方案在资源受限条件下实现了150ms以内的端到端延迟,为物联网视觉应用提供了低成本、低功耗的解决方案,适用于智能家居、工业检测等多个场景。

reset2021的博客 329

将数组里某个属性相同的对象合并成一个数组

var array=[ {id:1,name:'小明',sex:'男'}, {id:2,name:'小刚',sex:'男'}, {id:3,name:'小红',sex:'女'}, {id:4,name:'小花',sex:'女'}, {id:5,name:'小甜甜',sex:'女'}, ] var obj={},newArr=[]; array.forEach(function(item,suff...

C_TopTopTop的博客 636

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

根据数组中某个相同属性进行归类

在项目中一般会有需要根据数组对象的类型来对数组进行分类如下面那个原始数据需要根据type来进行统一分类,需要的效果如下:两数据对比如下图。

m0_63026408的博客 138

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

使用js,根据对象数组中对象属性值的不同将数组进行分组-1

需求:将下面数组-对象中的index_name相同的对象抽离出来,放入一个新数组中 let tempArr = [ { domain: 'a', index_name: '云淡风轻' }, { domain: 'b', index_name: '递归' }, { domain: 'c', index_name: '云淡风轻' }, { domain: 'd', index_na...

qq_42127308的博客 3174

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

根据对象数组中的属性进行分类

之前 之后 主要就是根据对象数组中的属性值,对数组进行分类,并且将相同属性值只保留一个。 主要方法是根据 这位博主的代码 由于该博主没有进行注解,我对它进行了注释。 const groupBy = (array, f) => { let groups = {}; array.forEach(function (o) { var group = JSON.stringify(f(o)); groups[group]

weixin_51664705的博客 1265

javascript对数组进行分类

classification (ArrayList, name) { if (!(ArrayList instanceof Array)) { return '请传入正确格式的数组' } if (!name) { return '请传入对象属性' ...

Call_me_small_pure的博客 789

JS:数组根据某个属性值,将其他属性值相加

JS操作数组根据某个属性值,将其他属性值相加求和 var carbonData = [{ CountyName: '瑶海区', CityName: '合肥市', ProvinceName: '安徽省', sequestration2010: 0.159123646, sequestration2011: 0.163177413, sequestration2012: 0.158292146,

happy81997的博客 963

JS对象数组根据属性分组方法

最近看到了个简单明了的分组方法,因为别人也是转的,没有标注原地址,我这也就不给转载地址了。 function test() { var list = [ {"name": "John", "Average": 15, "High": 10, "DtmStamp": 1358226000000}, {"name": "Jane", ...

weixin_40805079的博客 1万+

vue||Js数组对象属性值分类,一个数组拆分为多个数组

原数据 data:[ {id: 1, name: '张三', text: '呵呵'}, {id: 2, name: '张三', text: '无聊'}, {id: 3, name: '张三', text: '玩玩'}, {id: 4, name: '李四', text: '啊啊'}, {id: 5, name: '王五', text: '偷偷'}, {id: 6, name: '赵六

weixin_44442366的博客 4673

js 数组,根据数组内部的对象中的某个属性值进行分组

工作期间,遇到了一个问题,将 let data = [ { value: 'A组小明', group: 'A' }, { value: 'A组小红', group: 'A' }, { value: 'A组小刚', group: 'A' }, { value: 'B组小蓝', group: 'B' }, { value: 'B组小天', group: 'B' },

本以为成功很简单,没想到活成普通人都需拼尽全力! 6579

使用js,根据对象数组中对象属性值的不同将数组进行分组-3

需求:将下面数组-对象中的index_name相同的对象抽离出来,放在不同的数组当中 let tempArr = [ { domain: 'a', index_name: '云淡风轻' }, { domain: 'b', index_name: '递归' }, { domain: 'c', index_name: '云淡风轻' }, { domain: 'd', index_n...

qq_42127308的博客 896

JS的对象数组分类

对象数组分类简单方法

潮汐未见潮落的博客 1860
上一篇: 使用css实现打开抽屉效果(css过渡动画)
下一篇: vue3 elementui plus 可编辑表格 完整例子
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值