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 ...
随机推荐
- T-SQL——将字符串转为单列
目录 0. 背景 1. 使用STRING_SPLIT函数 2. 自定义分裂函数 3. 使用示例 shanzm-2023年2月22日 0. 背景 代码中执行存储过程,参数是多个且不确定数量,期望SQL查 ...
- 利用反射和代理简单模拟mybatis实现简单的CRUD
利用反射接口做java数据库操作 今天突发奇想,好像一些基本的CRUD操作路数都是一样的,又想到mybatis中的操作,便想着简单的模拟一下.随便写写,就当练习反射了. Dao接口类: 这里使用泛型, ...
- 前瞻性研究: axSpA中轴放射学进展延缓得益于TNF抑制剂持续治疗3年
西班牙学者近期发表的这项前瞻性研究是基于axSpA患者注册登记数据库,患者登记入库后,继续治疗和评估3年[1]. 患者分为2组,组1有46例,在登记入库时已经在用肿瘤坏死因子抑制剂(TNFi)且已治疗 ...
- ABP微服务系列学习-搭建自己的微服务结构(一)
在原本的结构里面,由于默认服务引用的都是ABP原生的模块,所以结构目录里面没有包含modules目录,这里我们添加一个modules目录,用于存放我们的自定义模块.在shared里面,我们再抽一个Ev ...
- LeetCode-622 设计循环队列
来源:力扣(LeetCode)链接:https://leetcode.cn/problems/design-circular-queue 题目描述 设计你的循环队列实现. 循环队列是一种线性数据结构, ...
- 【11】java之抽象类
一.抽象类基本概念 1.1 抽象类 抽象类:是指在普通类的结构里增加抽象方法的组成部分,抽象类要使用 abstract 声明. 抽象方法:没有方法体且必须使用 abstract 关键字进行定义. 拥有 ...
- Java后台校验手机号和邮箱
//true是手机号,false不是手机号 public static boolean checkPhone(String phone){ Pattern p = Pattern.compile(&q ...
- vue模板三目运算判断报错
问题: 关于vue三目运算符提示报错 1.三目运算符等于判断 {{ a==b ? '是' : '否'}} 2.其他三目运算符 <代表小于号(<) >代表大于符号(>) ≤表示小 ...
- user-agent反反爬
title: user-agent反反爬 author: 杨晓东 permalink: user-agent反反爬 date: 2021-10-02 11:27:04 categories: - 投篮 ...
- 周练6(python脚本)
------------恢复内容开始------------ 1.bugku-好像需要密码 POST /?yes HTTP/1.1 Host: 114.67.175.224:11711 User-Ag ...