0
Kiểm tra 2 mảng
Array 1: [ { title: 'Color', value: 'Orange' }, { title: 'Size', value: 'Small' } ]
Array 2: [ { title: 'Size', value: 'Small' }, { title: 'Color', value: 'Orange' } ]
Mình có 2 array với thứ tự Object không giống nhau, có cách nào để kiểm tra 2 array này bằng nhau không ạ?
3 CÂU TRẢ LỜI
+1
Bạn tham khảo thử nhes!!!
compareArray = (arr1, arr2) =>{
if(arr2.length !== arr1.length)
return false;
for(let i = 0; i < arr1.length; i++){
for(let j = 0; j<arr2.length; j++){
if(arr1[i].title === arr2[j].title && arr1[i].value === arr2[j].value){
arr1.splice(i,1);
i--;
arr2.splice(j,1);
j--;
}
}
}
if(arr1.length === 0 && arr2.length === 0)
return true;
return false;
}
Có vẻ đúng rồi bạn, mình cảm ơn nhé ^^
0
a.every((obj, i) => { return obj.title === b[i].title && obj.value === b[i].value; })
thử dùng hàm này đi bạn
cái này trong javascript thuần hình như không có hàm có sẵn, bạn phải tự viết chay rồi
@quangphunguyen Nếu React thì có không ạ?
@thangly98 nếu dùng react bạn có thể cài thêm thư viện như
lodash
sẽ có hàm hỗ trợ như ở câu trả lời dưới nhé.