在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ js 兩個數(shù)組,元素都是對象,如何去除交集?

js 兩個數(shù)組,元素都是對象,如何去除交集?

一個table里面一堆數(shù)據(jù),當(dāng)然都是對象了。當(dāng)我選中某些行時會把這些被選中的數(shù)據(jù)添加到一個新數(shù)組中,但是我并不知道這些數(shù)據(jù)在原數(shù)組中的下標(biāo),這時我點擊刪除按鈕時應(yīng)該需要把原數(shù)組中包含被選中的數(shù)據(jù)都給刪掉,我想到了for循環(huán)嵌套,但是這并不是一個很優(yōu)美的寫法,想請教諸位大神有沒有更騷氣又更牛逼的寫法呢?
多謝指教!

回答
編輯回答
脾氣硬

不知道你的對象里面有沒有唯一值,有你可以嘗試一下使用數(shù)組的filter方法過濾

2018年3月12日 18:46
編輯回答
咕嚕嚕

我給一個參考意見吧,不是放到兩個數(shù)組中的。。。

記錄加上標(biāo)志位,被刪除的不顯示。如果要進(jìn)行數(shù)據(jù)提交的話,可以過濾到刪除的。

let arr = [
  { name: 'name-1', record_id: 1, is_deleted: 0 },
  { name: 'name-2', record_id: 2, is_deleted: 0 },
  { name: 'name-3', record_id: 3, is_deleted: 1 }
];
2017年6月24日 22:09
編輯回答
命于你

考慮下渲染table的那個數(shù)組,看看能不能按順序渲染,就是按數(shù)組的下標(biāo)去渲染,這樣你選擇table的時候,只要知道對應(yīng)的index,不管是取數(shù)據(jù)還是刪除數(shù)據(jù)都很簡單了,取就是arr[index],刪就是arr.splice(index, 1).

2018年5月29日 07:09
編輯回答
柚稚
var arr = [
    { name: 'name-1', record_id: 1, is_deleted: 0 },
    { name: 'name-2', record_id: 2, is_deleted: 0 },
    { name: 'name-3', record_id: 3, is_deleted: 1 }
];
var add=[{ name: 'name-3', record_id: 3, is_deleted: 1 }];

function sd(a,b){
    let j=b[0];
    a.forEach((element,index) => {
       if(JSON.stringify(element)==JSON.stringify(j)){
           a.splice(index,1);
       }
    });
    console.log(a)
    return a;
}
sd(arr,add);
2018年3月15日 14:12