一、js判断数组对象中某一个属性是否含有相同值,使用set和map实现
xiang:[
{xmmc:'*供电*电费',xh:'22'},
{xmmc:'*供电*电费',xh:'33'},
{xmmc:'*经营租赁*仓库租赁费',xh:'33'},
]
let names = xiang.map(item => item["xmmc"]);
let nameSet = new Set(names);
console.log(names,nameSet)
if(nameSet.size < names.length){
this.$message.error('含有相同费用项!')
return false
}
打印出来的names和nameSet值
//原始的names
0: "*供电*电费"
1: "*供电*电费"
length: 2
//去重后的结果nameSet
_c: Set(1) {'*供电*电费'}
size: 1
二、 获取数组对象中某个属性id,并去重
//获取所有的id
let conArr=res.data.data.kpSettleList.map(item=>{
return item.contractId
})
let contractIds=conArr.filter((item,index)=>conArr.indexOf(item) === index)//获取去重后的数组
三、数组reduce累加
hjHsje=Arr.length=='1'?Arr[0].hsje : (Arr.map( row=>row.hsje).reduce((acc, cur) => (parseFloat(cur) + acc), 0)).toFixed(2)
四、js判断数组对象中某个属性的值是否相等
function isAllEqual(arr){
if(arr.length>0){
return !arr.some(function(value,index){
return value !==arr[0];
});
}
else{
return true;
}
}
isAllEqual([7,7,7,7]) //true
isAllEqual([1,2,3,1,1]) //false
五、数组对象中对多个属性值相同的数据去重
dataArr: [
{
id:1,
locnCode:'E-02',
itemCode: '801',
name: '名称1',
date:'2023-01-12 00:00:01'
},
{
id:2,
locnCode:'E-02',
itemCode: '801',
name: '名称2',
date:'2023-01-12 00:00:00'
},
{
id:3,
locnCode:'E-02',
itemCode: '802',
name: '名称3',
date:'2023-01-12 00:00:00'
},
{
id:4,
locnCode:'E-02',
itemCode: '801',
name: '名称4',
date:'2023-01-12 00:00:00'
}
]
quchong(){
let arr2=[]
let arr1=[]
for (let i = 0; i < this.dataArr.length; i++) {
if (!(arr1.includes(this.dataArr[i].itemCode + '-' + this.dataArr[i].locnCode+ '-' + this.dataArr[i].date))) {
// 数组中没有就往里添加
arr1.push(this.dataArr[i].itemCode + '-' + this.dataArr[i].locnCode + '-' + this.dataArr[i].date)
arr2.push(this.dataArr[i])
}
}
console.log(arr1,777)
console.log(arr2,888)
},

六、filter()对数组去重
let arr5 = ['11', 'aaa', 'bb', 'aaa', 'bb']
let arr6 = []
arr6 = arr5.filter((item, index, self) => {
return self.indexOf(item) === index
})
console.log(arr6) // ["11", "aaa", "bb"]
这篇博客介绍了JavaScript中处理数组的几种常见方法,包括:利用Set和Map检查对象属性是否有重复值,使用filter去重,reduce进行累加,以及通过比较属性值来判断数组对象是否全等。此外,还提供了一个去除数组对象中多个属性值相同的数据的示例,以及使用filter去重的基本用法。这些技巧对于优化数组处理和数据清洗至关重要。
141

被折叠的 条评论
为什么被折叠?



