本文介绍一些针对于数组对象最常用的操作。
前言
在实际的开发过程中我们最常用到的就是对数组对象进行各种各样的操作了,这里我罗列一些最基本的操作,欢迎各位大佬在评论区补充!
一、过滤掉status为null的对象
const arr = this.auditHistoryList.filter(v => v.status !== null);
二、过滤特定属性得到新数组
var lesseeEntList = arr.filter(v => v.entType === 'lessee') || [];
var rentEntList = arr.filter(v => v.entType === 'rent') || [];
三、根据属性值拆分到新数组
// 根据isIn属性进行判断
const rendInList = [];
const rendOutList = [];
resData.data.entRentInfo.forEach(item => {
(item.isIn ? rendInList : rendOutList).push(item);
});
this.rendInList = rendInList;
this.rendOutList = rendOutList;
四、数组对象合并
1.两个数组根据某一相同值进行合并
const arr = this.landList.map(v => {
const item = this.appealLandList.find(v2 => v.unitNumber === v2.unitNumber) || {};
return {
...v,
id: item.id,
fillDataId: item.fillDataId,
appealLandArea: item.appealLandArea
};
});
2.多个数组相同属性值合并为一个,不同属性值合并为数组值
this.chartSearchList = [];
res.data.forEach(item => {
// 查找结果数组中是否已经存在该 id 的对象
const index = this.chartSearchList.findIndex(
r => r.id === item.categoryId
);
// 如果不存在,则添加该 id 对应的新对象
if (index === -1) {
this.chartSearchList.push({
id: item.categoryId,
nameList: [item.name]
});
}
// 如果已经存在,则将该对象的 name 添加到 nameList 数组中
else {
this.chartSearchList[index].nameList.push(
item.name
);
}
});
五、判断值是否为数组
// 判断value是否为数组
Array.isArray(value) // true/false
总结
以上就是今天要讲的内容,本文仅仅简单介绍了数组对象的使用,更多内容还希望大家积极补充。