function process (source) {
const result = source.slice(0);
const count = result.length;
result.forEach((n, i) => {
if (n > 0) {
const min = Math.max(i - n, 0);
const max = Math.min(i + n, count - 1);
for (let c = min; c <= max; c++) {
let check = result[c];
if (check < 1 || (check < n && c - check >= min && c + check <= max)) {
result[c] = -1;
}
}
}
});
return result;
}
$.fn.myFadeIn = function () {
$(this).fadeIn(300);
};
$('...').myFadeIn();
const arr2 = Object.keys(arr).reduce((result, i) => {
result.push(result.length ? result[i - 1] + '-' + arr[i] : arr[i]);
return result;
}, []);
const func = (() => {
const url = 'bla-bla-bla';
let result;
return async () => {
if (typeof result == 'undefined') {
result = await (() => {
return fetch(url).then(response => response.json());
})();
}
return result;
};
})();
on()
. Т. е. в вашем случае нужен обработчик типа delegated. compareToRate
элементов с ratePlanCategory: 'Member'
, а значениями — их порядковые номера в исходном массиве.ratePlanCategory: 'NoMember'
считывайте значение ratePlanCode
, ищите значение в заполненном ранее объекте по этому ключу и так получите номер элемента массива с таким же значением ratePlanCode
и ratePlanCategory: 'Member'
.public_price
из очередной итерации прохождения массива и удалить данное свойство из этой итерации. var a;
while (typeof a == 'undefined') {
if (... какое-то изменяемое условие...) {
a = ...null или любое другое значение...; //после этого цикл прервётся
}
}