提取数组中相同类别数据,组成新的数组

最近项目里遇到一个处理数据的问题,返回的数据很多都是一个类别下的子数据,根据名称key进行分类,下面是一个demo,如有不足之处,期待交流。

原始数据

处理方法
function dataDeal(data){
	var listArr = [];
	data.forEach(function(el,index){
		for(var i=0;i<listArr.length;i++){
			// 对比相同的字段key,相同放入对应的数组
			if(listArr[i].Company == el.company){
				listArr[i].listInfo.push({
					number: el.number,
					name: el.name,
					date: el.date
				});
				return;
			}
		}
		// 第一次对比没有参照,放入参照
		listArr.push({
			Company: el.company,
			listInfo: [{
				number: el.number,
				name: el.name,
				date: el.date
			}]
		});	
	});
	return listArr;
}
效果图

处理后的数据

此方法只是针对本案例的处理方式,可依照个人需求进行定制,希望能帮到有需要的朋友。

https://github.com/zhangqian00/

这是我的github地址,有一些我自己写的一些关于require、angular、vue等等的小项目,最近在学习Nodejs,非常欢迎大牛们来指点,交流,分享。

前端很忙
微信搜索公众号:前端很忙

获取更多干活分享,欢迎来搞!

提取数组中一个属性组成数组,通常是指从一个对象数组中提取某个特定字段的值,组成一个数组。这种操作在JavaScript、Java等编程语言中非常常见,可以通过遍历原数组并访问每个对象的特定属性来完成。 以JavaScript为例,假设我们有一个对象数组,每个对象都有一个"name"属性,我们想要提取所有对象的"name"属性组成一个数组,可以使用`map`函数来实现。示例如下: ```javascript // 原始对象数组 const objectsArray = [ { id: 1, name: 'Alice', age: 30 }, { id: 2, name: 'Bob', age: 25 }, { id: 3, name: 'Charlie', age: 35 } ]; // 提取name属性组成数组 const namesArray = objectsArray.map(item => item.name); // 输出数组 console.log(namesArray); // 输出: ['Alice', 'Bob', 'Charlie'] ``` 在Java中,这通常涉及到遍历集合(如`List`或`Array`),然后为每个对象获取特定字段的值并添加到数组中。代码示例: ```java import java.util.ArrayList; import java.util.List; // 假设有一个Person类,有一个getName方法 class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } // ... 其他方法和构造器 ... } public class Main { public static void main(String[] args) { List<Person> people = new ArrayList<>(); people.add(new Person("Alice", 30)); people.add(new Person("Bob", 25)); people.add(new Person("Charlie", 35)); // 提取name属性组成数组 String[] names = new String[people.size()]; for (int i = 0; i < people.size(); i++) { names[i] = people.get(i).getName(); } // 输出数组 for (String name : names) { System.out.println(name); } } } ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值