programing

vuex 작업 Vue.js에서 개체 어레이를 정렬할 수 없습니다.

firstcheck 2022. 8. 7. 16:45
반응형

vuex 작업 Vue.js에서 개체 어레이를 정렬할 수 없습니다.

어레이를 정렬하려고 합니다만, 콘솔 로그만으로 정렬이 실행되지 않습니다.왜 이것이 실행되지 않는지 이해할 수 없습니다.단순한 Javascript에서 같은 코드를 실행하면 문제없이 실행됩니다.누군가 무슨 일이 일어나고 있는지 알면 큰 도움이 될 거예요.

fetchContacts({
    commit
}, userId) {
    let contactsArr = [];
    console.log('contact action triggered');
    db.collection("users").doc(userId).collection("contacts").onSnapshot((snapshot) => {
        snapshot.forEach((el) => {
            contactsArr.push({
                name: el.data().name,
                phone: el.data().phone,
                email: el.data().email,
                id: el.id
            });
        })
    })
    console.log('contact array: '+ contactsArr);
    console.log(contactsArr);
    contactsArr.sort((a, b) => {
        console.log('sorting in ');
        const n1 = a.name.toLowerCase();
        console.log(n1);
        const n2 = b.name.toLowerCase();
        console.log(n2);
        if (n1 > n2) {
            return 1;
        } else if (n2 > n1) {
            return -1;
        } else {
            return 0;
        }
    });
    commit('setContacts', contactsArr);
},

여기에 이미지 설명 입력


여기에 이미지 설명 입력

하다 보면 안에 요.onSnapshot:

 let contactsArr = [];
    console.log('contact action triggered');
    db.collection("users").doc(userId).collection("contacts").onSnapshot((snapshot) => {
        snapshot.forEach((el) => {
            contactsArr.push({
                name: el.data().name,
                phone: el.data().phone,
                email: el.data().email,
                id: el.id
            });
        })

      console.log('contact array: '+ contactsArr);
    console.log(contactsArr);
    contactsArr.sort((a, b) => {
        console.log('sorting in ');
        const n1 = a.name.toLowerCase();
        console.log(n1);
        const n2 = b.name.toLowerCase();
        console.log(n2);
        if (n1 > n2) {
            return 1;
        } else if (n2 > n1) {
            return -1;
        } else {
            return 0;
        }
    });
    commit('setContacts', contactsArr);
    })
   

언급URL : https://stackoverflow.com/questions/63354938/not-able-to-sort-object-array-in-vuex-action-vue-js

반응형