JS——如果数组中的信息存在多个相同的属性,那么则将这些相同的信息放到同一个children中。
var arr = [
{name: '张三', age: 10, sex: '男'},
{name: '李四', age: 10, sex: '男'},
{name: '钱五', age: 11, sex: '女'},
{name: '赵六', age: 12, sex: '女'},
{name: '王七', age: 10, sex: '男'},
]
// // 针对arr,根据相同的age 得出如下结果:
// result = [
// {name: '混合装大保健', age: '******', sex: '你猜', children: [
// {name: '张三', age: 10, sex: '男'},
// {name: '李四', age: 10, sex: '男'},
// {name: '王七', age: 10, sex: '男'},
// ]},
// {name: '钱五', age: 11, sex: '女'},
// {name: '赵六', age: 12, sex: '女'},
// ] // Ⅰ:解(8号技师为你服务):
let obj = {};
for( let item of arr){
if( !obj[`${ item.age }`]){
obj[`${ item.age }`] = {
name: item.name,
age: item.age,
sex: item.sex,
children: [ item],
}
}else {
obj[`${ item.age }`]['children'].push( item);
}
}
let _newArr = Object.values( obj); // 通过Object.values() 得出以属性值为基准的集合。例如:var obj = { 0: 'a', 1: 'b', 2: 'c' }; console.log(Object.values(obj)); // 得出 ['a', 'b', 'c']
// console.log('~~ 看看:', _newArr);
// 得出如下结果:
// [
// {
// "name": "张三","age": 10,"sex": "男","children": [
// {"name": "张三","age": 10,"sex": "男"},
// {"name": "李四","age": 10,"sex": "男"},
// {"name": "王七","age": 10,"sex": "男"}
// ]
// },
// {"name": "钱五","age": 11,"sex": "女","children": [
// {"name": "钱五","age": 11,"sex": "女"}
// ]
// },
// {"name": "赵六","age": 12,"sex": "女","children": [
// {"name": "赵六", "age": 12,"sex": "女"}
// ]
// }
// ] // ...Ⅱ:进一步处理(贵客请进屋)。如果age只存在一个,那么将该信息中的children删除;并对非一个的信息行做处理。
_newArr.forEach( item => {
if( item.children.length === 1 && item.age === item.children[ 0].age) {
delete item.children;
}else {
item.name = '混合装大保健';
item.age = '******';
item.sex = '你猜';
}
});
// console.log('最后看下:', _newArr); // 得出结果即为上述所说。
JS——如果数组中的信息存在多个相同的属性,那么则将这些相同的信息放到同一个children中。的更多相关文章
- eclipse 中main()函数中的String[] args如何使用?通过String[] args验证账号密码的登录类?静态的主方法怎样才能调用非static的方法——通过生成对象?在类中制作一个方法——能够修改对象的属性值?
eclipse 中main()函数中的String[] args如何使用? 右击你的项目,选择run as中选择 run configuration,选择arguments总的program argu ...
- JS去除数组中重复值的四种方法
JS去除数组中重复值的四种方法 1 /// <summary> o[this[i]] = ""; } } newArr.p ...
- js从数组中删除指定值(不是指定位置)的元素
RT: js从数组中删除指定值的元素,注意是指定值,而不是指定位置. 比如数组{1,2,3,4,5},我要删除其中的元素3,但是这个3的位置我是不知道的,只知道要删除值为3的这一个元素,请问要怎么写? ...
- js删除数组中元素的方法
一.清空数组 var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即被清空了 二.删 ...
- js将数组中一个或多个字段相同的子元素中合并
最近js中遇到js将数组中一个或多个字段相同的子元素中合并,相信很多朋友也有遇到,大家可能有多种方法,我在这里记录一个相对简单的方法,当然大家如有其它更好的方法,请提出来大家共同学习. //将经济事项 ...
- 字符串数组 输入3个字符串,要求按由小到大的字母顺序输出; 输入n个学生的姓名和学号到字符串数组中,在输入一个姓名,如果班级有该生则返回其信息,否则返回本班无此人
输入3个字符串,要求按由小到大的字母顺序输出 如 输入franch england china,输出结果是china england franch 三个数排序输出,比较三个数的大小怎么做? a=18 ...
- js对象数组中的某属性值 拼接成字符串
js对象数组中的某属性值 拼接成字符串 var objs=[ {id:1,name:'张三'}, {id:2,name:'李四'}, {id:3,name:'王五'}, {id:4,name:'赵六' ...
- js限制输入数字能输入小数点,js定义数组,js往数组中添加数据,js将字符型转为数字型,除法结果保留两位小数——js小测:计算比赛得分
一个朋友跟我说要去给某个比赛算分: 规则:去掉最低分最高分求平均分: 最近在学习大数据可视化——图谱,用到js一些东西,所以今天就用js练练 用到知识点: js限制输入数字能输入小数点,js定义数组, ...
- js 删除 数组中某个元素(转载)
来源:https://www.jb51.net/article/134312.htm js删除数组中某一项或几项的几种方法 https://www.jb51.net/article/154737.ht ...
- js判断数组中是否包含某个元素
参考:http://www.runoob.com/jquery/misc-inarray.html js判断数组中是否包含某个元素 $.inArray( value, array [, fromInd ...
随机推荐
- 跳板攻击之:Socks 代理转发
跳板攻击之:Socks 代理转发 目录 跳板攻击之:Socks 代理转发 1 Socks 代理转发原理 2 实验环境 2.1 客户端配置 2.2 服务端配置 2.3 利用 Socks 代理扫描内网主机 ...
- 在真实世界中观察目标治疗策略实施1年对初诊RA患者的影响
在真实世界中观察目标治疗策略实施1年对初诊RA患者的影响 Tan AL, et al. Rheumatology 2016.Present ID: 083. 背景:制订目标治疗(T2T)建议是要将获得 ...
- ABP微服务系列学习-搭建自己的微服务结构(一)
在原本的结构里面,由于默认服务引用的都是ABP原生的模块,所以结构目录里面没有包含modules目录,这里我们添加一个modules目录,用于存放我们的自定义模块.在shared里面,我们再抽一个Ev ...
- 在Qt4中添加QSerialPort模块
在Qt5及以上的版本中提供了QSerialPort串口模块,如果想在Qt4版本中使用该模块,可以自行安装,但仅限于5.5以下的QSerialPort版本.下面就以qtserialport-openso ...
- 运行Java时报错:Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'
卸载旧的JAVA JDK,安装新版的JDK时,运行cmd的java -version命令遇到这样的报错: Error: opening registry key 'Software\JavaSoft\ ...
- Vicinity Vision Transformer概述
0.前言 相关资料: arxiv github 论文解读 论文基本信息: 发表时间:arxiv2022(2022.6.21) 1.针对的问题 视觉transformer计算复杂度和内存占用都是二次的, ...
- Rancher 使用介绍(可以通过界面管理 K8s 平台)
参考链接 https://blog.csdn.net/weixin_46902396/article/details/122433622 https://www.hugedomains.com/dom ...
- 小白学python必选一本书籍《Python学习手册》(第4版)
<Python学习手册>(第4版)pdf高清版免费下载地址: 提取码:ihpl 内容简介 · · · · · · Google和YouTube由于Python的高可适应性.易于维护以及适 ...
- [UnityShader]unity中2D Sprite显示阴影和接受阴影
首先是效果 要让2D显示阴影,首先假设知道Unity阴影来源(shader中的ShadowCaster) 最简单的方法是,首先从官网下载Sprite-Default.Shader,查看源码 然后复制粘 ...
- 基于VS码代码时出现访问错误的个人理解
日常在VS写代码中,有时候我们将写好的代码调试出来会出现有未经处理的异常,在0x00000000XXXX处有未经处理的异常,写入位置0xFFFFFFFFFFFFXX时发生访问冲突. 类似于图中情况,遇 ...