Вопрос. В конце пример, что slice можно испозьзовать для строк. Вопрос: а правильно ли так делать? Как с точки зрения потенциальных ошибок, так и с точки зрения работы компилятора ? Или всё же лучше и правильнее каждый раз предварительно преобразовывать строку к массиву. Спасибо
У примитивных типов данных (строка, число и т.д.) есть доступ к методам объектов. Вызывая эти методы создается временный «объект- обертка» , который предоставляет доступ методам и потом удаляется, это достаточно оптимизированный процесс. Почитать подробнее можно по теме «Методы у примитивов»
Добрый день! Можете сделать видео об this и масивоми на бизнес сайт. У меня проблема в том что при нажатие на картинку можно было открыт характеристики товара.
let img = document.querySelectorAll("img"); let char = document.querySelectorAll(".characteristics"); //все блоки с классом характеристики for(i = 0; i < img.length; i++){ img[i].addEventListener("click", () => { char[i].style.display = "block"; }); } Можно заменить char[i].style.display = "block", на смену класса, через classList.toggle, если у тебя стиль блоков характеристик имеет стиль display: none; можно ниже добавить класс который будет делать его block, и через classList.toggle менять
Дякую
Особенно классным было сравнение этих методов для строк и массивов.
Shift правильнее не удаляет, а вырезает первый элемент. Потом этот вырезанный элемент можно использовать в другой задаче
Вопрос. В конце пример, что slice можно испозьзовать для строк. Вопрос: а правильно ли так делать? Как с точки зрения потенциальных ошибок, так и с точки зрения работы компилятора ? Или всё же лучше и правильнее каждый раз предварительно преобразовывать строку к массиву. Спасибо
У примитивных типов данных (строка, число и т.д.) есть доступ к методам объектов. Вызывая эти методы создается временный «объект- обертка» , который предоставляет доступ методам и потом удаляется, это достаточно оптимизированный процесс. Почитать подробнее можно по теме «Методы у примитивов»
let a = [11,22,33,44,55];
a.slice(0, -1);
Добрый день! Можете сделать видео об this и масивоми на бизнес сайт. У меня проблема в том что при нажатие на картинку можно было открыт характеристики товара.
let img = document.querySelectorAll("img");
let char = document.querySelectorAll(".characteristics"); //все блоки с классом характеристики
for(i = 0; i < img.length; i++){
img[i].addEventListener("click", () => {
char[i].style.display = "block";
});
}
Можно заменить char[i].style.display = "block", на смену класса, через classList.toggle, если у тебя стиль блоков характеристик имеет стиль display: none; можно ниже добавить класс который будет делать его block, и через classList.toggle менять
У shift только один функционал по удалению 1го элемента массива? Или есть возможность задать от и до..., т. е. удалить от 1го до n?
shift не принимает параметров и всегда удаляет только первый элемент. Для того чтобы удалить элементы от и до почитайте о методе splice.
splice - мутирующая функция, а slice немутирующая
Это 8 урок а не 7
Заебись. Но стоит ли так утруждатся массивами? Все ранво на ЖС программируем. В конце получится очередной гавно-апп для гугле сторе.