1. 程式人生 > >【Javascript】求兩個物件的交集、差集

【Javascript】求兩個物件的交集、差集

//dataA,dataB樣例:
[{
	id: 1,
	name: 'zw'
}]
/**
*  獲取兩個物件的差集
*  @param dataA:大物件
*  @param dataB:小物件
* /
function getDiffrenceSetData (dataA, dataB) {
	for (let i = dataA.length - 1; i >= 0; i--) {
		for (let j = 0; j  < dataB.length; j++) {
			if (dataA[i].id === dataB[j].id) {
				dataA.splice(i, 1);
				break;
			}
		}
	}
	return dataA;
}

/**
*  獲取兩個物件的交集
*  @param dataA:大物件
*  @param dataB:小物件
* /
function getIntersectionData (dataA, dataB) {
	outLoop: for (let i = dataA.length - 1; i >= 0; i--) {
		for (let j = 0;  j < dataB.length; j++) {
			if (dataA[i].id === dataB[j].id)  {
				continue outLoop;
			}
		}
		dataA.splice(i, 1);
	}
	return dataA;
}