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>
`;
$(".block")
. document
, и там уже смотреть, кликнули по элементу с нужным классом или нет. console.log(id, wow[id]); // "c", 2
id
при поиске слева и справа. Если они не совпадают, id
не уникальный:array.map(({id}) => id) // [ "a", "b", "c", "c" ]
.forEach((id, _, arr) => {
if (arr.indexOf(id) !== arr.lastIndexOf(id)) {
console.log(id);
}
})
Это решение алгоритмически неэффективно, но довольно короткое. Object.defineProperty(window, "test", {
value: "QnA"
});
Присвоение нового значения ошибки не вызовет, но и не сработает: сохранится указанное значение.test = "X";
test // "QnA"
var test = "Y";
test // "QnA"
window.test = "Habr";
test // "QnA"
const test = "Z" // Uncaught SyntaxError: redeclaration of var test
writable: false
– оно и так по умолчанию false. И именно это свойство дескриптора определяет, можно ли назначить новое значение.writable: false
, чтобы свойство стало «константным».var test = "Habr";
Object.defineProperty(window, "test", {
value: "QnA",
writable: false,
});