3 回答

TA貢獻1818條經(jīng)驗 獲得超11個贊
您可以d2對中的每個條目進行分類和比較d1。只需通過提供一個replacer函數(shù)作為中的第二個參數(shù)來確保在對對象進行字符串化時保持順序JSON.stringify。
非數(shù)組對象的屬性不能保證以任何特定順序進行字符串化。不要依賴于字符串化中同一對象內(nèi)屬性的順序。
function replacer(obj) {
return Object.keys(obj).sort();
}
var d1 = [{"deviceid":"867874031097770", "simno":"ss343433", "slot":"1"},
{"deviceid":"867874031097770","simno":"ss343433","slot":"1"}];
var d2 = {"deviceid":"867874031097770","slot":"1", "simno":"ss343433"};
function equals(searchArr, objToCheck) {
var allEqual = true;
for (index in searchArr) {
const item = searchArr[index];
if (JSON.stringify(item, replacer(item)) !== JSON.stringify(objToCheck, replacer(objToCheck))) {
(objToCheck)));
allEqual = false;
break;
}
}
return allEqual;
}
if (equals(d1, d2)) {
console.log('All values of properties of d2 match with all entries in d1')
} else {
console.log('d2 values do not match with all entries in d1');
}
添加回答
舉報