map()
возвращает новый массив. arr = arr.map( ... )
И почему нельзя использовать {age}
?
map()
заменяет элемент массива на возвращаемое значение. Что вернули, то будет в новом массиве лежать. Взяли объект, вернули только поле возраста, удвоенное. Т.е. получили массив удвоенных возрастов, а имена потерялись. playSegments()
, который похож на то, что вам нужно. Попробуйте что-то типа:const half = [0, 150]; // [ первый кадр, средний кадр ]
if (this.showMobileMenu === true) {
burgerLottieIcon.setDirection(1);
burgerLottieIcon.playSegments(half, true);
} else {
burgerLottieIcon.setDirection(-1);
burgerLottieIcon.playSegments(half, true);
}
function getByChance(items) {
const totalChances = items.reduce((acc, c) => acc + c.dropChance, 0);
const rnd = totalChances * Math.random();
for (let i = 0, sum = 0;; i++) {
sum += items[i].dropChance;
if (sum > rnd) return items[i];
}
}
getByChance(items) // вернёт один из объектов массива
'style="background-image: url(\'' + elem['meta']['feedback_user_feedback_user_photo'] + '\')"></div>';
А лучше перепишите в обратных тиках `
response.data.post.forEach(function(elem) {
content += `
<div class="full-reviews__slide expand-review">
<div class="row mb-4">
<div class="expand-review__author-info col-12 col-lg-4 col-xl-3">
<div
class="expand-review__author-thumb"
style="background-image: url('${elem['meta']['feedback_user_feedback_user_photo']}')">
</div>
</div>
<div class="expand-review__content col-12 col-lg-8 col-xl-9">
<h2 class="expand-review__title">${elem['meta']['feedback_title']}</h2>
<p class="expand-review__excerpt">
${elem['meta']['feedback_shortdesc']}
</p>
<a href="${elem['meta']['permalink']}" class="expand-review__read-more">Читать полностью</a>
</div>
</div>
</div>
`;