watch: { cloneItems(old, cur) { this.prevItems = old; },
computed: { cloneItems: () => this.items.slice(),
prev items: <div v-for="item in items" :key="item">
this.items = [...this.items, Date.now()];
// Возвращается dom node - прям этот элемент из DOM
document.querySelector('Ваш элемент')
// Вы прям на эту ноду вешаете событие
document.querySelector('Ваш элемент').addEventListener('click',f())
// Возвращается "Масив" элементов - тип масив
document.querySelectorAll('Ваш элемент')
// У массива нет метода addEventListener - ошибка
document.querySelectorAll('Ваш элемент').addEventListener('click',f())
document.querySelectorAll('Ваш элемент').forEach(item=>{
// Item - каждый элемент в массиве и он же является node елементом из DOM
item.addEventListener('click',f())
})
const arr = [
{
value: 'aaa'
},
{
value: 'bbb'
},
{
value: 'ccc'
},
{
value: 'ddd'
},
]
let arr2 = [];
arr.forEach(el => {
arr2.push(el.value)
})
console.log(arr2)
const delay = timeout => new Promise(r => setTimeout(r, timeout));
async function asyncDelayedForEach(arr, callback, timeout) {
for (let i = 0; i < arr.length; i++) {
await callback.call(arr, arr[i], i, arr);
await delay(timeout);
}
}
// или
const asyncDelayedForEach = (arr, callback, timeout) =>
arr.reduce((acc, n, i, a) => acc
.then(() => callback.call(a, n, i, a))
.then(() => delay(timeout))
, Promise.resolve());
const rawObject = {
exchangeRate: [
{
baseCurrency: 'UAH',
currency: 'EUR',
saleRateNB: 18.7949200,
purchaseRateNB: 18.7949200,
saleRate: 20.0000000,
purchaseRate: 19.2000000
},
{
baseCurrency: 'UAH',
currency: 'GEL',
saleRateNB: 8.1500890,
purchaseRateNB: 8.1500890
},
{
baseCurrency: 'UAH',
currency: 'PLZ',
saleRateNB: 4.4922010,
purchaseRateNB: 4.4922010,
saleRate: 5.0000000,
purchaseRate: 4.2000000
}
]
};
const euro = rawObject.exchangeRate.find(obj => (obj.currency === 'EUR'));
console.log(euro);
console.log(`Euro saleRate: ${euro.saleRate}`);
console.log(`Euro purchaseRate: ${euro.purchaseRate}`);