js排序--一道js数据结构题
给一个数组:
- [{ GroupMark: "", GroupName: "hao", SendTime: '123', SendContent: "1ha" },
- { GroupMark: "1", GroupName: "hao", SendTime: '123', SendContent: "2ha" },
- { GroupMark: "1", GroupName: "hao", SendTime: '123', SendContent: "3ha" },
- { GroupMark: "22", GroupName: "hao", SendTime: '123', SendContent: "4ha" },
- { GroupMark: "3", GroupName: "hao", SendTime: '123', SendContent: "6ha" },
- { GroupMark: "22", GroupName: "hao", SendTime: '123', SendContent: "5ha" }]
目标
- [{"GroupMark":"","GroupName":"hao","SendTime":"123","SendContent":["1ha"]},
{"GroupMark":"1","GroupName":"hao","SendTime":"123","SendContent":["2ha","3ha"]},
{"GroupMark":"22","GroupName":"hao","SendTime":"123","SendContent":["4ha","5ha"]},
{"GroupMark":"3","GroupName":"hao","SendTime":"123","SendContent":["6ha"]}]
- //参照数组去重的
var arr =[{ GroupMark: "", GroupName: "hao", SendTime: '123', SendContent: "1ha" },- { GroupMark: "1", GroupName: "hao", SendTime: '123', SendContent: "2ha" },
- { GroupMark: "1", GroupName: "hao", SendTime: '123', SendContent: "3ha" },
- { GroupMark: "22", GroupName: "hao", SendTime: '123', SendContent: "4ha" },
- { GroupMark: "3", GroupName: "hao", SendTime: '123', SendContent: "6ha" },
- { GroupMark: "22", GroupName: "hao", SendTime: '123', SendContent: "5ha" }]
- var tempObj ={}
- var resArr = []
- for(let [index,item] of arr.entries() ){
- let {GroupMark,GroupName,SendContent} = item
- let keyStr = GroupMark+'&'+GroupName
- if(tempObj[keyStr]){
- let tempSendContent= tempObj[keyStr].SendContent
- tempObj[keyStr].SendContent=[...tempSendContent,SendContent]
- }else{
- tempObj[keyStr]={
- ...item,
- SendContent:[SendContent]
- }
- }
- }
- for (let item in tempObj) {
- resArr.push(tempObj[item])
- }
- console.log(resArr)
js排序--一道js数据结构题的更多相关文章
- 一道js题
<script> var a = 5; function test(){ this.a = 10; a = 15 this.func = function(){ var a = 20 ; ...
- 排序图解:js排序算法实现
之前写过js实现数组去重, 今天继续研究数组: 排序算法实现. 排序是数据结构主要内容,并不限于语言主要在于思想:大学曾经用C语言研究过一段时间的排序实现, 这段时间有空用JS再将排序知识点熟悉一遍. ...
- 用js来实现那些数据结构及算法—目录
首先,有一点要声明,下面所有文章的所有内容的代码,都不是我一个人独立完成的,它们来自于一本叫做<学习JavaScript数据结构和算法>(第二版),人民邮电出版社出版的这本书.github ...
- 那晚征服的一道js经典的面试题
今天朋友共享了一道js中经典的面试题,需求是这样的 给定你任意一个字符串,让你写出一个算法,求算出该字符串中出现次数最多的一个字符,并将其结果输出 刚拿到这道题的第一感觉便是定义一个count计时器, ...
- 利用js排序html表格
在web前端开发中会遇到排序等功能,当然也可以用服务器端来排序,今天我做一个笔记,怎么用js来实现这些复杂的功能呢. 在学习这个之前一定得用html dom jquery 的知识,要不没有办法看明白的 ...
- 用js来实现那些数据结构—目录
首先,有一点要声明,下面所有文章的所有内容的代码,都不是我一个人独立完成的,它们来自于一本叫做<学习JavaScript数据结构和算法>(第二版),人民邮电出版社出版的这本书.github ...
- QDUOJ 一道简单的数据结构题 栈的使用(括号配对)
一道简单的数据结构题 发布时间: 2017年6月3日 18:46 最后更新: 2017年6月3日 18:51 时间限制: 1000ms 内存限制: 128M 描述 如果插入“+”和“1”到 ...
- JS排序之快速排序
JS排序之快速排序 一个数组中的数据,选择索引为(2/数组长度)的那个数据作为基数,数组中的其他数据与它对比,比它数值小的放在做数组,比它数值大的放在右数组,最后组合 左数组+基数+右数组,其中,左数 ...
- new与属性访问的顺序,从一道JS面试题说起
这段时间一直在研究设计模式,在看工厂模式的时候,看到一段代码 VehicleFactory.prototype.createVehicle = function ( options ) { if( o ...
随机推荐
- [转帖]公钥基础设施(PKI)/CFSSL证书生成工具的使用
公钥基础设施(PKI)/CFSSL证书生成工具的使用 weilovepan520关注1人评论84344人阅读2018-05-26 12:22:20 https://blog.51cto.com/liu ...
- [转帖]快速部署Telegraf & Influxdb
快速部署Telegraf & Influxdb https://www.cnblogs.com/deykenlee/p/7565647.html 作者的blog 比较早 后来 influxdb ...
- Redis(1.3)Redis的基本特性(事务、多数据库)
[1]两大特性 (1)多数据库 1个redis实例 可以有16个数据库,默认下标为0~15,默认连接到的是 0 下标的数据库. (2)事务 [2]多数据库 [2.1]概念 1个redis实例 可以有1 ...
- 2019年5月份最热门的JavaScript开源项目
五一假期后工作的第一天,不知道你们调整好状态没有呢? 1-libpku https://github.com/lib-pku/libpku Star 15820 该项目是由一名北大在读大学生整 ...
- python 下安装pymysql应用
前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持3.x版本. 本文测试python版本:2.7.11. ...
- java水题集
POJ - 1220 进制转换 import java.io.*; import java.util.*; import java.math.*; public class Main { public ...
- TCP的组包、半包、粘包与分包
一.概念 1)组包.简单的说就是tcp协议把过大的数据包分成了几个小的包传输,接收方要把同一组的数据包重新组合成一个完整的数据包. 2)半包.指接受方没有接受到一个完整的包,只接受了部分,这种情况主要 ...
- opencv3.3 CUDA 初学实例
//swap.cu #include "cuda_runtime.h" #include "device_launch_parameters.h" #inclu ...
- MySQL学习笔记:count(1)、count(*)、count(字段)的区别
关于数据库中行数统计,无论是MySQL还是Oracle,都有一个函数可以使用,那就是COUNT. 但是,就是这个常用的COUNT函数,却暗藏着很多玄机,尤其是在面试的时候,一不小心就会被虐.不信的话请 ...
- Git——文件初始化及设置签名
1. 本地库初始化 命令: git init 效果: