Asked Feb 1st, 4:48 AM 216 0 3
  • 216 0 3
0

Kiểm tra 2 mảng

Share
  • 216 0 3

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 ạ?

Nguyen Quang Phu @quangphunguyen
Feb 1st, 6:10 AM

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

0
| Reply
Share
Feb 1st, 6:25 AM

@quangphunguyen Nếu React thì có không ạ?

0
| Reply
Share
Nguyen Quang Phu @quangphunguyen
Feb 1st, 6:43 AM

@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é.

0
| Reply
Share

3 ANSWERS


Answered Thursday, 8:28 AM
Accepted
+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;
}
Share
Friday, 3:41 AM

Có vẻ đúng rồi bạn, mình cảm ơn nhé ^^

0
| Reply
Share
Answered Feb 4th, 4:51 AM
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

Share
Answered Feb 2nd, 6:18 PM
-2

Hash chúng nó ra string rồi compare 2 array với nhau.

Share