У меня есть массив, заполненный объектами (см. Изображение).
изображение
Я бы хотел динамически обновлять эмодзи, так что, если пользователь выбирает тот же эмодзи, который на самом деле находится внутри массива, тогда объект должен обновляться, и если эмодзи не существует в массиве, добавьте его в массив.
Второй работает. Но я не могу обновить смайлики, если я сделаю массив, заменив все текущими смайликами.
код:
`// item is = choosed emoji!`
function addEmoji (item) {
this.allSingleEmojis = doc.data().allEmojis;
// if item, exist in reactions update
if (this.allSingleEmojis.includes(item)) {
fb.postsCollection
.doc(docId)
.update({
reactions: [{ [item]: 1 + 1 }]
})
.then(() => {
this.showText = false;
})
.catch(err => {
console.log(err);
});
}
// if item doesn't exist in reactions add item + count to new index
// this one works!
else if (!this.allSingleEmojis.indexOf(item) === false) {
fb.postsCollection
.doc(docId)
.update({
reactions: firebase.firestore.FieldValue.arrayUnion({
[item]: 0
})
})
.then(() => {
this.showText = false;
})
.catch(err => {
console.log(err);
});
}
}