Где-то еще кроме for..of и spread применяется кастомный итератор?
let arr = [1,2,3,4,5];
//итератор массива в обратном порядке
arr[Symbol.iterator] = function() {
let currIndex = this.length;
const that = this;
return {
next() {
if (currIndex !== 0) {
return {
done: false,
value: that[--currIndex]
}
} else {
return {
done: true
}
}
}
}
}
console.info('reduce');
const all = arr.reduce((tot, next) => {
return tot += next + ',';
}, '');
console.log(all.slice(0,-1));
console.info('for..of');
let result = '';
for (let el of arr) {
result += el + ',';
}
console.log(result.slice(0, -1));
console.info('forEach');
result = '';
arr.forEach(el => result += el + ',');
console.log(result.slice(0, -1));
console.info('map');
console.log(arr.map(el => el).join(','))
console.info('spread');
console.log([...arr].join(','));
Вообще, он предназначен для for..of
. Этого достаточно.
Где ещё? В Array.from
вот тоже используется.
let arr = [1, 2, 3, 4, 5];
//итератор массива в обратном порядке
arr[Symbol.iterator] = function() {
let i = this.length;
return {
next: () => i ?
{done: false, value: this[--i]} :
{done: true}
}
}
console.info('Array.from');
console.log(Array.from(arr).join(','));
console.info('for..of');
let result = '';
for (let el of arr) {
result += el + ',';
}
console.log(result.slice(0, -1));
console.info('spread');
console.log([...arr].join(','));
Доброго времени сутокПроблема моя заключается в том, что скрипты которые я подключил в файле functions
Здравствуйте, я решил через массив сделать подключить на HTML сайт JS скриптыВот мой код: aengines
Решил написать всплывающую/скрывающаяся боковое меню с использованием bootstrap
при использовании Drag&Drop HTML5 , при перетаскивании , появляется "дубликат", который двигаетсяА как при этом скрыть исходный элемент? т