const arrToSinglyLinkedList = (arr, nextKey = 'next') =>
arr.reduceRight((acc, n) => ({ ...n, [nextKey]: acc }), null);
function arrToSinglyLinkedList(arr, nextKey = 'next') {
let list = null;
for (let i = arr.length; i--;) {
const node = Object.assign({}, arr[i]);
node[nextKey] = list;
list = node;
}
return list;
}
const list = arrToSinglyLinkedList(arr, 'child');
присваивание всем переменным, которые используются в компоненте, их дефолтное значение мне тоже кажется не лучшей идеей
$t = &$arr;
foreach ($keys as $key) {
if (!isset($t[$key]) || !is_array($t[$key])) {
$t[$key] = [];
}
$t = &$t[$key];
}
$t['value'] = $val;
this
- это и будет ссылка на нужный элемент. Конечно, только в том случае, если какое-то другое значение не было заранее привязано к обработчику (как такое может быть - bind и стрелочные функции).target
с помощью closest. 1 + количество_строк - количество_элементов_в_данных_текущего_столбца
чем это может быть вызвано?
useEffect(() => setIsLoadError(false), [ src ]);
<Image key={card ? card.link : 'hello, world!!'}
const parent = document.querySelector('.xlist');
const className = 'active';
const el = parent.querySelector(`:scope > .${className}`);
const index = el ? [...parent.children].indexOf(el) : -1;
let index = -1;
for (let n = el; n; n = n.previousElementSibling, index++) ;
const index = Array.prototype.findIndex.call(
parent.children,
n => n.classList.contains(className)
);
const { children } = parent;
let index = children.length;
while (index-- && !children[index].matches(`.${className}`));
GET_CHARACTERS
? Не вижу. Надо добавить.let data = await axios.get(baseURL); context.commit('SET_CHARACTERS', data)
const response = await axios.get(baseURL);
context.commit('SET_CHARACTERS', response.data.results);
<div>{{ $store.state.characters }}</div>
<div v-for="n in $store.state.characters">
{{ n.name }}
</div>
.zoom
за пределы карты, добавить общую обёртку с относительным позиционированием:<div class="map-wrapper">
<div class="zoom">
<div data-zoom="+1" class="zoom-in"></div>
<div data-zoom="-1" class="zoom-out"></div>
</div>
<div class="map"></div>
</div>
.map-wrapper {
position: relative;
}
.zoom
отображался поверх карты, задать ему z-index
и абсолютное позиционирование:.zoom {
position: absolute;
z-index: 666;
}
document.querySelector('.zoom').addEventListener('click', function(e) {
const zoomChange = +e.target.dataset.zoom;
if (zoomChange) {
map.setZoom(map.getZoom() + zoomChange);
}
});
function fb3cont() { b3Cont.classList.remove("__active"); } document.onclick = function() { if (b3Cont.classList.contains("__active")) { fb3cont()}; }