반응형
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
반응형
'programing' 카테고리의 다른 글
어떻게 SparseArray을 반복하는 데? (0) | 2022.08.08 |
---|---|
Android에서 모바일 장치의 위도와 경도를 얻는 방법 (0) | 2022.08.08 |
LD_PRELOAD에서 gdb를 사용하는 방법 (0) | 2022.08.07 |
'for' 루프에서 1씩 증가할 때 != 대신 > (<)를 사용해야 하는 기술적 이유가 있습니까? (0) | 2022.08.07 |
register Natives() 메서드는 무엇을 합니까? (0) | 2022.08.07 |