陣列合並且去重&向一個陣列新增一條資料(重複的就不新增)&陣列物件去重處理
兩個結構相同的陣列是可以合併的,使用es6的reduce方法可以合併兩個陣列並去重,例子如下:
將一個陣列新增到另一個陣列中並去重,其中tableData是將要
新增到fatherTablelist的陣列,這時建議用es6的reduce方法:
inChildByValue: function(tableData){
if (this.fatherTablelist.length < 1 ) {
this.fatherTablelist = tableData
this.inInnerVisible = false
this.$alert('實施資訊新增成功!','資訊提示',{
confirmButtonText:'確定',
})
}else {
// 合併兩個陣列
let resources = [...this.fatherTablelist,...tableData]
// 去重
let temp = {}
resources = resources.reduce((prev,curv) => {
// 若臨時物件中有一模一樣的item,則什麼都不做
if (temp[curv.projImplementInst]&&temp[curv.authObject]){}
else{
temp[curv.projImplementInst] = true
temp[curv.authObject] = true
prev.push(curv)
}
return prev
},[])
console.log('resources',resources)
this.fatherTablelist = resources
this.inInnerVisible = false
}
},
參考教程:點這裡
往一個table裡面新增一條資料,如果重複則不新增,使用some函式很簡單:
let obj = {
staffid:this.multipleSelectionPeoples[0].staffid,
username:this.multipleSelectionPeoples[0].username,
projTabencode:this.multipleSelectionSecrets[0].projTabencode,
projTabcnname:this.multipleSelectionSecrets[0].projTabcnname
}
let len = this.tableData.length
if(len === 0) {
this.tableData.push(obj)
}else {
let res = this.tableData.some(item => {
return item.staffid === obj.staffid && item.projTabencode === obj.projTabencode
})
if(res) {
this.$message({
type: 'warning',
message: '已存在重複資料'
})
} else {
this.tableData.push(obj)
}
}
3.陣列物件去重
一般的陣列去重可以直接用 new Set() 方法即可,但是陣列物件的話,比較複雜,不能直接用,我們可以採取間接的方法來去重
相關文章
- JS陣列去重 – JSON陣列去重陣列JSON
- 陣列物件去重陣列物件
- web前端陣列處理之陣列去重Web前端陣列
- js物件陣列去重JS物件陣列
- js陣列物件去重JS陣列物件
- 陣列去重陣列
- iOS 模型陣列去重複iOS模型陣列
- js陣列去重JS陣列
- JavaScript 陣列去重JavaScript陣列
- JavaScript陣列去重JavaScript陣列
- java陣列中重複元素的去重Java陣列
- 陣列去重的方法陣列
- es6陣列去重複陣列
- 陣列去重和陣列扁平化陣列
- golang 陣列去重 移除陣列指定元素Golang陣列
- 陣列去重的幾個方法陣列
- 陣列物件的去重然後排序陣列物件排序
- JavaScript陣列去重方法JavaScript陣列
- 陣列去重和求和陣列
- javascript之陣列去重JavaScript陣列
- 關於陣列去重陣列
- 陣列及陣列物件操作 ----------包括排序,去重,合併,翻轉等陣列物件排序
- 陣列的去重和排序陣列排序
- js中給陣列中物件去重JS陣列物件
- es6陣列去重(連重複的物件也可以去掉)陣列物件
- 面試必問的陣列去重複面試陣列
- 陣列去重,地址不改變陣列
- JS實現陣列去重JS陣列
- 如何實現陣列去重?陣列
- js 陣列去重小技巧JS陣列
- 陣列求和,刪除,去重陣列
- JS陣列去重的實現JS陣列
- 陣列去重的幾種方法陣列
- 陣列去重Demo引出的思考陣列
- 陣列去重的幾種方式陣列
- 陣列去重的六種方法陣列
- 跟underscore一起學陣列去重陣列
- 【譯】如何用 ES6 去重一個陣列陣列