for…in — JavaScript | MDN
Цикл for...in
перебирає усі перелічувані властивості об’єкта, ключами яких є рядки (ігноруючи ті, ключами яких є символи), в тому числі успадковані перелічувані властивості.
The source for this interactive example is stored in a GitHub repository. If you’d like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
for (variable in object) statement
variable
- Нове ім’я властивості призначається параметру variable на кожній ітерації.
object
- Об’єкт, чиї не символьні перелічувані властивості перебираються.
Цикл for...in
перебирає лише перелічувані, не символьні властивості. Об’єкти, створені вбудованими конструкторами, як Array
та Object
, успадковують неперелічувані властивості від Object.
та String.prototype
, такі як метод indexOf()
у String
або метод toString()
у Object
. Цикл перебиратиме усі особисті перелічувані властивості об’єкта й ті, які об’єкт успадковує від прототипу конструктора (властивості, розташовані ближче до об’єкта у ланцюжку прототипів, заміщують властивості прототипу).
Видалені, додані або модифіковані властивості
Цикл for...in
перебирає властивості об’єкта у довільному порядку (дивіться оператор delete
, щоб дізнатись, чому не можна покладатися на удавану впорядкованість перебору, принаймні, у кросбраузерних налаштуваннях).
Якщо властивість була змінена під час однієї ітерації і потім відвідується під час наступної, її значенням у циклі буде значення під час наступної ітерації. Властивість, що була видалена до того, як була відвідана, не буде відвідана пізніше. Властивості, додані до об’єкта під час поточного перебору, можуть бути або відвідані, або пропущені під час цього перебору.
Загалом, краще не додавати, не змінювати й не видаляти властивості об’єкта під час перебору, окрім властивості, що відвідується у даний момент. Немає гарантії, що додана властивість буде відвідана, чи що змінена властивість (якщо це не поточна властивість) буде відвідана до чи після того, як була змінена, чи що видалена властивість не була відвідана до того, як була видалена.
Перебір масиву та for…in
Заувага: цикл for...in
не слід використовувати для перебору масиву
, де порядок індексів є важливим.
Індекси масивів є просто перелічуваними властивостями з цілочисельними іменами, в усьому іншому вони ідентичні загальним властивостям об’єкта. Немає гарантій, що for...in
поверне індекси у певному порядку. Цикл for...in
поверне усі перелічувані властивості, в тому числі не цілочисельні імена та успадковані властивості.
Оскільки порядок перебору залежить від реалізації, перебір масиву може відвідувати елементи масиву непослідовно.
for
з числовим індексом (або Array.prototype.forEach()
чи for...of
) для перебору масивів, коли порядок звернення до елементів важливий.Перебір лише особистих властивостей
Якщо ви бажаєте розглядати властивості, притаманні лише самому об’єкту, а не його прототипам, скористайтесь getOwnPropertyNames()
або виконайте перевірку hasOwnProperty()
(також можна використати propertyIsEnumerable()
). Альтернативно, якщо ви певні, що не буде зовнішнього втручання у код, ви можете розширити вбудовані прототипи методом перевірки.
Враховуючи, що цикл for...in
створений для перебору властивостей об’єкта, не рекомендований для використання у масивах, і що існують такі варіанти як Array.prototype.forEach()
та for...of
, яка взагалі може бути користь від for...in
?
Він може бути найбільш практичним для налагодження, оскільки ним легко перевіряти властивості об’єкта (виводячи їх у консоль чи іншим чином). Хоча масиви часто більш зручні для зберігання даних, у ситуаціях, де для роботи з даними потрібні пари ключ-значення (де властивості виконують роль «ключів»), можливі випадки, коли ви захочете перевірити, чи містить якийсь з цих ключів певне значення.
Використання for…in
Наведений цикл for...in
перебирає усі перелічувані, не символьні властивості об’єкта та виводить рядки імен властивостей та їхніх значень.
var obj = {a: 1, b: 2, c: 3};
for (const prop in obj) {
console.log(`obj.${prop} = ${obj[prop]}`);
}
Перебір особистих властивостей
Наступна функція ілюструє використання hasOwnProperty()
: успадковані властивості не виводяться.
var triangle = {a: 1, b: 2, c: 3}; function ColoredTriangle() { this.color = 'red'; } ColoredTriangle.prototype = triangle; var obj = new ColoredTriangle(); for (const prop in obj) { if (obj.hasOwnProperty(prop)) { console.log(`obj.${prop} = ${obj[prop]}`); } }
BCD tables only load in the browser
Сумісність: Ініціалізація лічильника у строгому режимі
До Firefox 40 було можливо використати ініціалізацію лічильника (i=0
) у циклі for. ..in
:
var obj = {a: 1, b: 2, c: 3};
for (var i = 0 in obj) {
console.log(obj[i]);
}
Ця нестандартна поведінка тепер ігнорується у версії 40 та пізніших і викличе помилку SyntaxError
(«for-in loop head declarations may not have initializers») у строгому режимі (bug 748550 та bug 1164741).
Інші рушії, такі як v8 (Chrome), Chakra (IE/Edge) та JSC (WebKit/Safari), також проводять дослідження щодо прибирання цієї нестандартної поведінки.
JS JavaScript Свойства объекта
Свойства являются наиболее важной частью любого JavaScript-объекта.
Свойства JavaScript
Свойства — это значения, связанные с объектом JavaScript.
Объект JavaScript представляет собой коллекцию неупорядоченных свойств.
Свойства обычно можно изменять, добавлять и удалять, но некоторые из них доступны только для чтения.
Доступ к свойствам JavaScript
Синтаксис для доступа к свойству объекта:
objectName.
or
objectName[«property«] // person[«age»]
or
objectName[expression] // x = «age»; person[x]
The expression must evaluate to a property name.
Пример 1
person.firstname + » is » + person.age + » years old.»;
Пример 2
person[«firstname»] + » is » + person[«age»] + » years old.»;
JavaScript for…in loop
Инструкция JavaScript for…in циклически через свойства объекта.
Синтаксис
for (variable in object) {
code to be executed
}
Блок кода внутри цикла for…in будет выполнен один раз для каждого свойства.
Циклический перебор свойств объекта:
Пример
var person = {fname:»John», lname:»Doe», age:25};for (x in person) {
txt += person[x];
}
Добавление новых свойств
Можно добавлять новые свойства к существующему объекту, просто придавая ему значение.
Предположим, что объект Person уже существует- Затем можно присвоить ему новые свойства:
Пример
person.nationality = «English»;
Нельзя использовать зарезервированные слова для имен свойств (или методов). Применяются правила именования JavaScript.
Удаление свойств
Пример
var person = {firstName:»John», lastName:»Doe», age:50, eyeColor:»blue»};
delete person.age; // or delete person[«age»];
Ключевое слово Delete удаляет как значение свойства, так и само свойство.
После удаления свойство нельзя использовать перед добавлением обратно.
Оператор Delete предназначен для использования в свойствах объекта. Он не влияет на переменные или функции.
Оператор DELETE не должен использоваться в предопределенных свойствах объекта JavaScript. Это может аварийно завершить работу приложения.
Атрибуты свойств
Все свойства имеют имя.
Значение является одним из атрибутов свойства.
Другие атрибуты: перечислимые, настраиваемые и записываемые.
Эти атрибуты определяют, как можно получить доступ к свойству (читается ли он?, является ли он доступным для записи?)
В JavaScript все атрибуты могут быть прочитаны, но только атрибут value может быть изменен (и только если свойство является доступным для записи).
(ECMAScript 5 имеет методы для получения и установки всех атрибутов свойства)
Свойства прототипа
Объекты JavaScript наследуют свойства своего прототипа.
Ключевое слово DELETE не удаляет унаследованные свойства, но при удалении свойства prototype оно будет влиять на все объекты, унаследованные от прототипа.
JavaScript For Loop
Loops может выполнить блок кода несколько раз.
JavaScript Loops
Петли удобны, если вы хотите запустить тот же код снова и снова, каждый раз с другим значением.
Часто это бывает при работе с массивами:
Вместо того чтобы писать:
text += cars[0] + «<br>»;
text += cars[1] + «<br>»;
text += cars[2] + «<br>»;
text += cars[3] + «<br>»;
text += cars[4] + «<br>»;
text += cars[5] + «<br>»;
Ты можешь написать:
for (i = 0; i < cars.length; i++) {
text += cars[i] +
«<br>»;
}
Различные виды Loops
JavaScript поддерживает различные виды петель:
- for — петли через блок кода несколько раз
- for/in — перебирает свойства объекта
- в while — перебирает блок кода , пока заданное условие истинно
- do/while в do/while — также перебирает блок кода , пока заданное условие истинно
For Loop
for цикла часто инструмент вы будете использовать , когда вы хотите создать цикл.
for цикла имеет следующий синтаксис:
for (statement
1; statement 2; statement 3) {
code block to be executed
}
Заявление 1 выполняется до начала цикла (блок кода).
Заявление 2 определяет условия для запуска цикла (код блока).
Заявление 3 выполняется каждый раз после того, как петля (код блока) был выполнен.
Из приведенного выше примера, вы можете прочитать:
Заявление 1 устанавливает переменную перед началом цикла (var i = 0) .
Заявление 2 определяет условия для запуска цикла (я должен быть не менее 5).
Заявление 3 увеличивает значение (i++) каждый раз , когда блок кода в цикле была выполнена.
Утверждение 1
Обычно вы будете использовать оператор 1 , чтобы инициировать переменную , используемую в петле (i = 0) .
Это не всегда так, JavaScript не заботится. Утверждение 1 является необязательным.
Можно инициировать множество значений в ведомости 1 (через запятую):
пример
for (i = 0, len = cars.length, text = «»; i < len; i++) {
text += cars[i] + «<br>»;
}
И вы можете опустить оператор 1 (например, когда ваши значения установлены до начала цикла):
пример
var i = 2;
var len = cars.length;
var text = «»;
for (; i < len; i++) {
text += cars[i] + «<br>»;
}
Заявление 2
Часто утверждение 2 используется для оценки состояния исходной переменной.
Это не всегда так, JavaScript не заботится. Утверждение 2 также является необязательным.
Если утверждение 2 возвращает истину, цикл начинается снова, если он возвращает ложь, цикл завершится.
Если опустить утверждение 2, вы должны предоставить break внутри цикла. В противном случае цикл никогда не закончится. Это приведет к краху вашего браузера. Читайте о перерывах в последующих главах данного руководства.
Утверждение 3
Часто утверждение 3 увеличивает начальную переменную.
Это не всегда так, JavaScript не имеет значения, и утверждение 3 не является обязательным.
Заявление 3 может сделать что — нибудь подобное отрицательное приращение (i—) , положительное приращение (i = i + 15) , или что — нибудь еще.
Заявление 3 также могут быть опущены (например, когда вы увеличиваем свои значения внутри цикла):
пример
var i = 0;
var len = cars.length;
for (; i < len; ) {
text += cars[i] + «<br>»;
i++;
}
For/In Loop
JavaScript for/in заявлении перебирает свойства объекта:
пример
var person = {fname:»John», lname:»Doe», age:25};var text = «»;
var x;
for (x in person) {
text += person[x];
}
While Loop
В while петли и do/while в do/while цикл будет объяснено в следующей главе.
Проверьте себя с упражнениями!
Упражнение 1 » Упражнение 2» Упражнение 3 » Упражнение 4» Упражнение 5 » Упражнение 6»
JScript цикл for…in | scriptcoding.ru
В этой статье мы рассмотрим цикл for…in js сценариев языка jscript. Данный js цикл for…in не предназначен, как остальные циклы, для выполнения n-го количества операций, его основное назначение – получение доступа к элементам массива и объекта. Он практичен в том случае, если надо просмотреть свойства какого-то объекта или произвести групповые операции над всеми элементами массива.
Давайте для начала посмотрим на общий синтаксис цикла for…in:
for (имя переменной in [имя объекта|имя массива]) {тело цикла}
Тут логика работы довольно проста, сразу после ключевого слова for в круглых скобках указывается имя переменной, которая будет хранить ссылку на нужный объект или массив, имя массива или объекта идёт после ключевого слова in, в фигурных скобках мы указываем нужные выражения.
Давайте рассмотрим следующий пример:
//******************************** // js цикл for...in // for_in.js //******************************** // простой массив var new_arr=[1,2,3,4,5,10,12,12,14] ; WScript.Echo (new_arr); for (var element in new_arr){ new_arr[element]*=2; } WScript.Echo (new_arr); //Матрица 3х3 //неверный подход var new_arr1=[[1,2,3],[4,5,10],[12,12,14]] ; WScript.Echo (new_arr1); for (var element in new_arr1){ new_arr1[element]*=2; } WScript.Echo (new_arr1); //Матрица 3х3 var new_arr2=[[1,2,3],[4,5,10],[12,12,14]] ; WScript.Echo (new_arr2); for (var element in new_arr2){ for (var element1 in new_arr2[element]){ new_arr2[element][element1]*=2; } } WScript.Echo (new_arr2); |
Тут мы вначале объявляем простой массив, далее с помощью цикла for in js скрипта мы перебираем все элементы и умножаем их на два. После, мы создаем матрицу размером 3 на 3 и снова пробуем увеличить значение элементов в два раз, но получаем тип NaN – не число, это и не удивительно, ведь матрица является двумерным массивом. В третьем примере мы уже дважды используем цикл for in для увеличения значений, в этот раз всё получилось. Как видим, цикл for in не нуждается в указании количества элементов и позволяет в групповом порядке произвести нужные манипуляции.
Хорошо, теперь давайте рассмотрим пример с объектом:
//******************************** // js цикл for...in // for_in_1.js //******************************** // объявляем объект Date var index=""; var dd=new Date(); //создаем новый объект new_obj var new_obj={a:100, b:25, c:"строка", d:dd.getYear()} ; //пробуем вывести свойства, но безуспешно WScript.Echo (new_obj); for (var element in new_obj){ index+=element + "\t" + new_obj[element] + "\n"; } WScript.Echo (index); |
В данном примере мы создали собственный объект с именем new_obj, ему мы прописали четыре свойства: a:100, b:25, c:»строка», d:dd.getYear(), тут getYear() – это метод объекта Date, который выводит текущий год. Если просто попытаться вывести напрямую через функцию Echo весь объект new_obj, то мы ничего не получим, тут-то и нужен js цикл for…in. Видим, что переменная element хранит в себе имя свойства, для доступа к самому значению мы используем конструкцию new_obj[element].
Скачать архив с примерами
К сожалению, подобным образом нельзя достучаться ко свойствам внешнего объекта, например, Scripting.FileSystemObject:
//******************************** // js цикл for...in // for_in_2.js //******************************** var index=""; var dd=WScript.CreateObject("Scripting.FileSystemObject"); for (var element in dd){ index+=element + "\t" + dd[element] + "\n"; } WScript.Echo (index); |
В данном примере, вместо ожидаемых имен и значений свойств мы ничего не получим. Любопытно и то, что на JavaScript в теле HTML страницы похожий код всё-таки выдает нужные данные, но, будет работать не в каждом обозревателе.
JavaScript для / в Заявлении
Пример
Прокрутка свойств объекта:
var person = {fname: «John», lname: «Doe», age: 25}; var text = «»;
var x;
для (x лично) {
текст + = человек [x] + «»;
}
Определение и использование
Оператор for / in просматривает свойства объекта.
Блок кода внутри цикла будет выполняться один раз для каждого свойства.
JavaScript поддерживает различные типы циклов:
- для — проходит через блок кода несколько раз
- for / in — перебирает свойства объекта
- for / of — перебирает значения итерируемого объекта
- в то время как — циклически перебирает блок кода, пока заданное условие истинно
- do / while — проходит через блок кода один раз, а затем повторяет цикл, пока заданное условие истинно
Примечание: Не используйте оператор for / in для циклического перебора массивов. где важен порядок индекса.Вместо этого используйте оператор for.
Поддержка браузера
Заявление | |||||
---|---|---|---|---|---|
для / дюйм | Есть | Есть | Есть | Есть | Есть |
Синтаксис
для (var в объект) {
кодовый блок, который должен быть выполнен
}
Значения параметров
Параметр | Описание |
---|---|
var | Обязательно. Переменная, которая перебирает свойства объекта |
объект | Обязательно. Указанный объект, который будет повторяться |
Технические характеристики
Версия JavaScript: | ECMAScript 1 |
---|
Связанные страницы
Учебное пособие по JavaScript: JavaScript для цикла
Ссылка на JavaScript: JavaScript для утверждения
Узел.js — for… of vs. for… in Loops
Node.js поставляется с для… из
и для… в
циклах. Эти два цикла обеспечивают удобную итерацию помимо обычного цикла для
. Оба цикла предоставляют чистый синтаксис для итераций и быстрый доступ к ключам или значениям.
В этом руководстве более подробно рассматриваются оба цикла и показано, на что следует обращать внимание при их использовании в коде. Кроме того, посмотрите пример кода для для… из
и для… в циклах
(пример кода также указан под заголовком).
Обзор серии Node.js
Итерационные объекты в JavaScript
Прежде чем рассматривать циклы, вы должны знать, что такое итерация в JavaScript. Итерируемый объект — это объект JavaScript, возвращающий функцию, которая создает итератор для своего свойства Symbol.iterator.
Обычными итерациями являются массивы, типизированные массивы, карты, наборы и объекты, подобные массивам (например, NodeLists
). Строки также являются итерируемыми, вы можете перебирать каждый символ в цикле.
для… из
Цикл for… of
выполняет итерацию по значениям итерации:
const types = ['объект', 'массив', 'строка', 'целое число', 'с плавающей точкой', 'логическое']
for (константный тип типов) {
консоль.log (`Тип JavaScript: $ {type}`)
}
// выход:
// Тип JavaScript: объект
// Тип JavaScript: массив
// Тип JavaScript: строка
// Тип JavaScript: целое число
// Тип JavaScript: float
// Тип JavaScript: логический
Переменная, присвоенная в цикле for… of
, получает значение элемента.
Еще одна итерация в JavaScript — это тип Map
. Карта предлагает различные варианты итераций. Например, вы можете в цикле просмотреть значения карты или деструктурировать пары ключ-значение и получить доступ к обоим одновременно.Вот пример, показывающий оба варианта:
const cache = новая карта ()
cache.set ('сообщений: 1', {id: 1, title: 'Сообщение 1'})
cache.set ('сообщений: 2', {id: 2, title: 'Сообщение 2'})
for (элемент const в cache.values ()) {
console.log (`Элемент кеширования: $ {JSON.stringify (элемент)}`)
}
// выход:
// Элемент кеширования: {"id": 1, "title": "Сообщение 1"}
// Элемент кеширования: {"id": 2, "title": "Сообщение 2"}
// или же
for (const [ключ, значение] кеша) {
console.log (`Элемент кэша:" $ {key} "со значениями $ {JSON.stringify (value)}`)
}
// выход:
// Кэшировать элемент: "posts: 1" со значениями {"id": 1, "title": "Post 1"}
// Кешировать элемент: "posts: 2" со значениями {"id": 2, "title": "Post 2"}
Помните, что цикл for… of
предоставляет значения итерируемого объекта.
для… в
Цикл for… in
выполняет итерацию по ключам объекта итерируемого объекта. Итерация по массивам возвращает индекс элемента:
const names = ['Маркус', 'Норман', 'Кристиан']
for (const index в именах) {
console.log (`$ {names [index]} находится в позиции $ {index}`)
}
// выход:
// Маркус находится в позиции 0
// Норман на позиции 1
// Кристиан находится на позиции 2
Цикл for… in
также перебирает объекты, возвращая все ключи.
const user = {name: 'Marcus', любит: 'Node.js'}
for (ключ const в user) {
console.log (`$ {ключ}: $ {пользователь [ключ]}`)
}
// выход:
// имя: Маркус
// лайки: Node.js
Помните, что цикл for… in
предоставляет ключи итерируемого объекта.
Наслаждайтесь лупами и сделайте это круто!
Упомянутые ресурсы
JavaScript для vs for-in vs for-of in Depth | Шалита Суранга | В Startup
Javascript есть несколько типов циклов «for».
здесь мы собираемся взглянуть на каждый немного глубже … Цикл — Изображение предоставлено: unsplash.com В Javascript есть несколько операторов цикла, но в большинстве случаев все склонны использовать для операторов
, потому что мы обычно имеем дело со сценариями циклов, которые состоят из известных условий со счетчиками, или нам просто нужно перебрать список элементов данных.
Например: — Создание массива чисел для заданного начала и конца.
В этом простом примере начало и конец четко определены заранее, а также связаны со счетчиками (проходящими от начала до конца).Давайте рассмотрим типы для
для цикла…
Это хорошо известный базовый цикл для , который имеет следующий формат.
for ([initialExpression]; [endCondition]; [incrementalExpression])
// повторяющиеся операторы ...
Важно отметить, что приведенные выше выражения, которые находятся внутри для , являются необязательными. По сути, повторяющиеся операторы этого простого цикла для будут выполняться до тех пор, пока [endCondition]
не вернет false
(если он не предоставлен, Javascript принимает его как true
, чтобы продолжить выполнение цикла).рассмотрим следующие примеры, которые демонстрируют несколько ситуаций: для цикла …
цикла for-in…
Этот тип цикла для будет перебирать свойства объектов (если конкретное свойство перечислимо). Если указана переменная типа Array или String , индексы используются как ключи, как обычно. Давайте проверим несколько примеров…
Вышеупомянутые примеры просто перебирают свойства объектов. В самом деле, мы не можем однозначно доверять порядку цикла for-in из-за некоторых кросс-браузерных проблем.Важно отметить, что для получения свойства через цикл for-in конкретное свойство должно быть перечислимым. рассмотрим следующий пример для неперечислимых свойств.
for of… loop
Это новая функция, представленная в ES6. for-of создает цикл для повторяемых объектов. String , Array , TypedArray , Map и Set можно рассматривать как встроенные итерируемые объекты.
См. Следующую демонстрацию со встроенными итерациями..
Если есть особые требования, можно также определить настраиваемые итерируемые объекты. Итерируемые объекты — это просто объекты, но со специальным методом под названием Symbol.interator , который известен как итератор по умолчанию в концепции итеративного протокола. После выполнения for-of он вызывает этот итератор по умолчанию, чтобы получить объект итератора для прохождения каждого элемента данных.
Объект итератора имеет метод next ()
, который предоставит необходимые данные и условие остановки для цикла for-of .Более того, этот специальный метод и структура данных определены в протоколе итератора. Я провел эксперимент на консоли, как показано ниже, чтобы смоделировать, что произойдет с этим механизмом зацикливания.
Как вы можете видеть, next () метод
возвращает детали каждого элемента данных в массиве и в конечном итоге возвращает значение как undefined также с done: true
указывает итерация завершена.
Какой? и когда?
Каждый тип цикла for полезен в разных случаях…
- Если при доступе к массиву или логическим элементам, связанным с индексами, требуются счетчики / индексы, лучше продолжить с для цикла .
- Если есть необходимость получить доступ к свойствам / ключам вне зависимости от порядка for-in поможет.
- Если вам просто нужно перебрать элементы данных итерируемого объекта (также, если вам, возможно, нужно внести некоторые изменения), for-of — очевидный выбор.
Лично я хотел бы выбрать для большую часть времени . . и для был выбран для некоторых алгоритмических вещей.
Удачного кодирования 😎
Javascript для… in Loop — Linux Hint
Javascript — один из самых популярных языков программирования в мире. В любом языке программирования циклы имеют важное значение. Как и многие другие языки, Javascript также предоставляет различные форматы синтаксиса цикла. В этой статье обсуждается важная тема Javascript, известная как цикл for… in .Иногда нам может потребоваться перебрать каждый отдельный элемент объекта / массива. Но обычно мы не знаем длину этого конкретного объекта / массива. for… in loop пригодится даже при работе с JSON. В этой статье мы рассмотрим цикл for… in , его синтаксис и некоторые примеры использования этого цикла.Цикл for… in Javascript выполняет итерацию по каждому свойству объекта.
Синтаксис
Синтаксис цикла for… in следующий:
for (const key in object) {// тело for. ..в петле
}
где,
Ключ — это переменная, используемая в каждой итерации.
Объект — это требуемый объект для итерации цикла.
Далее мы рассмотрим несколько примеров, чтобы укрепить концепцию и показать вам, как работает процесс.
Примеры
Сначала мы видим простейшую реализацию цикла for… in . В этом примере мы сначала предположим объект:
let obj = {
firstName: «John»,
lastName: «Doe»
}
А затем мы переберем объект и консоль каждого свойства, используя цикл for… in .
для (имя константы в объекте) {
console.log (имя + «=» + объект [имя]);
}
Как видите, цикл for… in прошел по каждому свойству объекта obj и напечатал каждое свойство в консоли, как мы хотели.
Javascript также предоставляет встроенную функцию hasOwnProperty () . Мы можем выполнить проверку hasOwnProperty () перед выполнением любой задачи в for… в цикле , например:
для (const name in obj) {
if (obj. hasOwnProperty (имя)) {
console.log (имя + «=» + obj [имя]);
}
}
Эта функция пригодится, когда вам нужно использовать JSON или для отладки.
Если вы не знаете, содержит ли ключ определенные свойства, вы также можете использовать синтаксис for… в для массивов, а также для строк.
пусть arr = [23,24,25] для (константное значение в arr) {
console.log (значение + «=» + arr [значение]);
}
Точно так же вы можете применить этот синтаксис и к строкам.let str = «Linuxhint»
для (const char в str) {
console.log (char + «=» + str [char]);
}
Но не рекомендуется использовать цикл for… in для массивов и строк, потому что есть специальные циклы и функции для массивов и строк. Например, for… of или Array.protptype.forEach () предназначен для массивов, которые лучше выполняют те же задачи.
Заключение
Из этой статьи вы узнали, как работает цикл for… in и как он помогает с JSON и отладкой. Вы также узнали, как использовать цикл for… в с массивами и строками, хотя этот цикл предназначен для объектов и рекомендуется для них. Но я надеюсь, что эта статья оказалась полезной для вашего понимания цикла for… in и его различных реализаций. Чтобы узнать больше о Javascript, вы можете найти больше статей на linuxhint.com.
для … из — JavaScript | MDN
, вызывающий настраиваемый перехватчик итераций с операторами, которые должны выполняться для значения каждого отдельного свойства.
для ( переменная из итераций ) { Заявление }
-
переменная
- יטרציה, רך ה property הנוכחי של итерация מוקצה ל переменная
- итерация
- אובייקט עם properties ברי איטרציה
וגמא:
יטרציה ע»ג
Массив
let iterable = [10, 20, 30];
for (let value of iterable) {
console. log (значение);
}
אפשר להשתמש ג»כ ב const
במקום let
באם אתה לא משנה ת ערך המשתנה בתוך הבלוק.
איטרציה ע»ג Строка
пусть итерабельность = "бу";
for (let value of iterable) {
console.log (значение);
}
Итерация по
TypedArray
let iterable = new Uint8Array ([0x00, 0xff]);
for (let value of iterable) {
console.log (значение);
}
Итерация по карте
let iterable = new Map ([["a", 1], ["b", 2], ["c", 3]]);
for (let entry of iterable) {
консоль.журнал (запись);
}
for (let [key, value] of iterable) {
console.log (значение);
}
Итерация по набору
let iterable = new Set ([1, 1, 2, 2, 3, 3]);
for (let value of iterable) {
console.log (значение);
}
Итерация по коллекции DOM
Итерация по коллекциям DOM, например NodeList
: следующий пример добавляет класс чтения
в параграфы, которые являются прямыми потомками статьи:
пусть articleParagraphs = document. querySelectorAll ("статья> p");
for (пусть абзац статьиParagraphs) {
paragraph.classList.add ("читать");
}
Итерация по генераторам
Вы также можете выполнять итерацию по генераторам:
function * fibonacci () {
пусть [prev, curr] = [1, 1];
while (true) {
[предыдущая, текущая] = [текущая, предыдущая + текущая];
yield curr;
}
}
for (let n of fibonacci ()) {
console.log (n);
if (n> = 1000) {
перемена;
}
}
Итерация по другим итеративным объектам
Вы также можете выполнять итерацию по объекту, который явно реализует итеративный протокол:
var iterable = {
[Символ.iterator] () {
возвращаться {
я: 0,
следующий() {
if (this.i <3) {
return {значение: this.i ++, done: false};
}
return {значение: undefined, done: true};
}
};
}
};
for (var value of iterable) {
console.log (значение);
}
Разница между
for . .. of
и for ... in
Цикл for ... in
будет перебирать все перечисляемые свойства объекта.
Синтаксис для ... из
специфичен для коллекций , а не для всех объектов.Таким образом выполняется итерация по элементам любой коллекции, имеющей свойство [Symbol.iterator]
.
В следующем примере показана разница между циклом for ... из
и for ... в цикле
.
Object.prototype.objCustom = function () {};
Array.prototype.arrCustom = function () {};
let iterable = [3, 5, 7];
iterable.foo = "привет";
for (пусть я повторяюсь) {
console.log (я);
}
for (пусть я повторяется) {
console.log (я);
}
Элемент | Хром | Firefox (Gecko) | Край | Opera | Safari |
---|---|---|---|---|---|
Базовая опора | 38 [1] 51 [3] | 13 (13) [2] | 12 | 25 | 7. 1 |
Элемент | Android | Chrome для Android | Мобильный Firefox (Gecko) | IE мобильный | Opera Mobile | Мобильный Safari |
---|---|---|---|---|---|---|
Базовая опора | 5,1 | 38 [1] | 13,0 (13) [2] | Нет поддержки | ? | 8 |
[1] Начиная с Chrome 29 до Chrome 37 эта функция была доступна в зависимости от предпочтений.В chrome: // flags / # enable-javascript-harmony активируйте запись «Включить экспериментальный JavaScript».
[2] Предыдущий Firefox 51, использующий конструкцию цикла for ... of
с ключевым словом const
, вызывал ошибку SyntaxError
(«пропущено = в объявлении const»). Это исправлено (ошибка 1101653).
[3] Поддержка итерации объектов была добавлена в Chrome 51.
Понимание JavaScript For .
.. of Loop - Scotch.io Модель для.Оператор ..of
создает цикл, который выполняет итерацию по итерируемым объектам. Цикл For ... of
был введен в ES6 как альтернатива for..in
и forEach (
) и поддерживает новый протокол итераций. For..of
позволяет вам перебирать итерируемые структуры данных, такие как массивы, строки, карты, наборы и т. Д.
Синтаксис
для (повторяемая переменная) {
утверждение
}
- переменная - для каждой итерации значение свойства присваивается переменной.
- iterable - объект, который имеет перечислимые свойства и может быть повторен.
Давайте рассмотрим некоторые варианты использования.
Массивы
Массивы - это просто объекты в виде списков. У прототипа массива есть различные методы, которые позволяют выполнять над ним операции, такие как операции мутации и обхода. Вот для . .. из
операции над массивом:
const iterable = ['мини', 'мани', 'мо'];
for (const value of iterable) {
консоль.журнал (значение);
}
Результатом является распечатка каждого значения в повторяемом массиве
.
: https://jsbin.com/dimahag/edit?js,console
Карта
Объект Map содержит пары ключ-значение. Объекты и примитивные значения могут использоваться как ключ или значение. Объект Map перебирает элементы в зависимости от того, как он был вставлен. Другими словами, цикл for ... of
возвращает массив пар ключ-значение для каждой итерации.
const iterable = new Map ([['один', 1], ['два', 2]]);
for (const [ключ, значение] итерации) {
консоль.журнал (`Ключ: $ {ключ} и значение: $ {значение}`);
}
Демо: https://jsbin.com/lofewiw/edit?js,console
Набор
Объект Set позволяет хранить уникальные значения любого типа, которые могут быть примитивными значениями или объектами. Объекты-наборы - это просто наборы значений. Итерация элементов набора основана на порядке вставки. Значение в наборе может встречаться только один раз. Другими словами, если вы создаете набор, который содержит один и тот же элемент более одного раза, он все равно будет рассматриваться как один элемент.
const iterable = новый набор ([1, 1, 2, 2, 1]);
for (const value of iterable) {
console.log (значение);
}
Несмотря на то, что у нас есть набор, в котором несколько единиц и 2, на выходе мы получаем только 1 и 2.
Демо: https://jsbin.com/fajozob/edit?js,console
Строка
Строки используются для хранения данных в текстовой форме.
const iterable = 'JavaScript';
for (const value of iterable) {
console.log (значение);
}
Здесь выполняется итерация строки, и печатается символ каждого индекса.
Демо: https://jsbin. com/rixakeg/edit?js,console
Объект аргументов
Думайте об объекте аргумента просто как об объекте типа Массив, соответствующем аргументам, переданным в функцию. Вот пример использования:
function args () {
for (const arg of arguments) {
console.log (аргумент);
}
}
args ('a', 'b', 'c');
Вам может быть интересно, что происходит ?! Как я сказал ранее, аргументов
получает любой аргумент, переданный в функцию args () при ее вызове.Итак, если мы передадим 20 аргументов функции args (), у нас будет распечатано 20 аргументов.
: https://jsbin.com/ciqabov/edit?js,console
Генераторы
Генераторы - это функции, из которых можно выйти, а затем снова войти.
генератор функций(){
yield 1;
выход 2;
выход 3;
};
for (const g генератора ()) {
console.log (г);
}
Функция *
определяет функцию генератора, которая возвращает объект генератора. Дополнительную информацию о генераторах можно найти здесь.
: https://jsbin.com/faviyi/edit?js,console
JavaScript предлагает четыре известных метода завершения выполнения цикла, а именно: break
, continue
, return
и throw
. Давайте посмотрим на пример:
const iterable = ['мини', 'мани', 'мо'];
for (const value of iterable) {
console.log (значение);
перемена;
}
В этом примере мы используем ключевое слово break
, чтобы завершить цикл после одного выполнения, и распечатывается только mini
.
: https://jsbin.com/tisuken/edit?js,console
Цикл For ... of
работает только с итерациями. Простые объекты не повторяются. Посмотрим:
const obj = {fname: 'foo', lname: 'bar'};
for (постоянное значение obj) {
console.log (значение);
}
Здесь мы определяем простой объект obj
, и когда мы пытаемся выполнить на нем операцию for . .. of
, мы получаем ошибку TypeError: obj [Symbol.iterator] не является функцией
.
: https://jsbin.com/sotidu/edit?js,console
Мы можем обойти это, преобразовав объект, подобный массиву, в массив. Объект будет иметь свойство длины , и его элемент должен быть проиндексирован. Давайте посмотрим на пример:
const obj = {длина: 3, 0: 'foo', 1: 'bar', 2: 'baz'};
const array = Array.from (obj);
for (постоянное значение массива) {
console.log (значение);
}
Метод Array.from ()
создает новый экземпляр Array из объекта, подобного массиву или повторяемого объекта.
: https://jsbin.com/miwofin/edit?js,console
Цикл for ... in
будет перебирать все перечислимые свойства объекта.
Array.prototype.newArr = () => {};
Array.prototype.anotherNewArr = () => {};
const array = ['foo', 'bar', 'baz'];
for (константное значение в массиве) {
console. log (значение);
}
For ... in
не только перечисляет указанное выше объявление массива, но также ищет унаследованные неперечислимые свойства из прототипа конструктора, в данном случае newArr
и anotherNewArr
, и также распечатывает их.
: https://jsbin.com/quxojof/edit?js,console
For ... of
более специфичен для коллекций, таких как массивы и объект, но не включает все объекты.
Примечание. Любой элемент, имеющий свойство Symbol.iterator
, является итеративным.
Array.prototype.newArr = () => {};
const array = ['foo', 'bar', 'baz'];
for (постоянное значение массива) {
console.log (значение);
}
For ... of
не учитывает неперечислимые свойства прототипа конструктора.Он просто ищет перечислимые свойства и распечатывает их.
: https://jsbin.com/sakado/edit?js,console
Использование цикла For . .. of
может сэкономить много времени во время разработки. Надеюсь, эта статья помогла вам понять и написать более совершенные конструкции циклов при разработке на JavaScript. Удачного кодирования!
Понравилась эта статья? Подпишитесь на @orinamio_ в Twitter
Как перебрать массив в JavaScript
Всего за несколько недель до открытия полностекового учебного курса 2021 JavaScript Full-Stack Bootcamp .
Записывайтесь в лист ожидания!
Введение
JavaScript предоставляет множество способов перебора циклов. В этом руководстве каждый из них объясняется на небольшом примере и с основными свойствами.
для
const list = ['a', 'b', 'c']
for (let i = 0; i
- Вы можете прервать цикл
для
, используяbreak
- Вы можете быстро перейти к следующей итерации цикла
для
, используяcontinue
для каждого
Введено в ES5. Учитывая массив, вы можете перебирать его свойства, используя list.forEach ()
:
const list = ['a', 'b', 'c']
list.forEach ((элемент, индекс) => {
console.log (item) // значение
console.log (index) // индекс
})
// индекс не обязателен
list.forEach (элемент => console.log (элемент))
, к сожалению, вы не можете выйти из этого цикла.
делать ... а
const list = ['a', 'b', 'c']
пусть я = 0
делать {
console.log (list [i]) // значение
консоль.log (i) // индекс
я = я + 1
} пока (я
Вы можете прервать цикл и
, используя разрыв
:
do {
если (что-то) сломается
} while (истина)
, и вы можете перейти к следующей итерации, используя continue
:
do {
если (что-то) продолжить
// делаем что-нибудь еще
} while (истина)
в то время как
const list = ['a', 'b', 'c']
пусть я = 0
в то время как (i длина) {
console.log (list [i]) // значение
console.log (i) // индекс
я = я + 1
}
Вы можете прервать цикл и
, используя разрыв
:
while (true) {
если (что-то) сломается
}
, и вы можете перейти к следующей итерации, используя continue
:
while (true) {
если (что-то) продолжить
// делаем что-нибудь еще
}
Разница с do ... в то время как
состоит в том, что do ... а
всегда выполняет свой цикл хотя бы один раз.
для ... в
Выполняет итерацию всех перечислимых свойств объекта, давая имена свойствам.
для (сдать собственность в объект) {
console.log (property) // имя свойства
console.log (object [property]) // значение свойства
}
для ... из
ES6 представил цикл for . .. of
, который сочетает в себе лаконичность forEach с возможностью разрыва:
// перебираем значение
for (значение константы ['a', 'b', 'c']) {
консоль.log (значение) // значение
}
// также получаем индекс, используя `entries ()`
for (const [индекс, значение] of ['a', 'b', 'c']. entries ()) {
console.log (index) // индекс
console.log (значение) // значение
}
Обратите внимание на использование const
. Этот цикл создает новую область видимости на каждой итерации, поэтому мы можем безопасно использовать ее вместо let
.
для ... из
и для ... из
Разница с для ... в
составляет:
-
для...of
выполняет итерацию по значениям свойств -
for ... в
повторяет имена свойств
Учебный курс 2021 JavaScript Full-Stack Bootcamp начнется в конце марта 2021 года. Не упустите эту возможность, подпишитесь на лист ожидания!
Больше руководств по js:
- Чего следует избегать в JavaScript (плохие части)
- Отсрочки и обещания в JavaScript (+ пример Ember.js)
- Как загружать файлы на сервер с помощью JavaScript
- Стиль кодирования JavaScript
- Введение в массивы JavaScript
- Введение в язык программирования JavaScript
- Полное руководство по ECMAScript 2015-2019
- Понимание обещаний JavaScript
- Лексическая структура JavaScript
- Типы JavaScript
- Переменные JavaScript
- Список примеров идей веб-приложений
- Введение в функциональное программирование с помощью JavaScript
- Современный асинхронный JavaScript с асинхронностью и ожиданием
- Циклы и область действия JavaScript
- Структура данных JavaScript карты
- Заданная структура данных JavaScript
- Руководство по литералам шаблонов JavaScript
- Дорожная карта для изучения JavaScript
- Выражения JavaScript
- Откройте для себя таймеры JavaScript
- Объяснение событий JavaScript
- Циклы JavaScript
- Написание циклов JavaScript с использованием карты, фильтрации, сокращения и поиска
- Цикл событий JavaScript
- Функции JavaScript
- Глоссарий JavaScript
- Объяснение закрытий JavaScript
- Учебное пособие по функциям стрелок в JavaScript
- Руководство по регулярным выражениям JavaScript
- Как проверить, содержит ли строка подстроку в JavaScript
- Как удалить элемент из массива в JavaScript
- Как глубоко клонировать объект JavaScript
- Введение в Unicode и UTF-8
- Юникод в JavaScript
- Как ввести первую букву строки в верхний регистр в JavaScript
- Как отформатировать число как денежное значение в JavaScript
- Как преобразовать строку в число в JavaScript
- это в JavaScript
- Как получить текущую метку времени в JavaScript
- Строгий режим JavaScript
- Выражения функции немедленного вызова JavaScript (IIFE)
- Как перенаправить на другую веб-страницу с помощью JavaScript
- Как удалить свойство из объекта JavaScript
- Как добавить элемент в массив в JavaScript
- Как проверить, не определено ли свойство объекта JavaScript
- Введение в модули ES
- Введение в CommonJS
- Асинхронное программирование JavaScript и обратные вызовы
- Как заменить все вхождения строки в JavaScript
- Краткое справочное руководство по синтаксису современного JavaScript
- Как обрезать ведущий ноль в числе в JavaScript
- Как проверить объект JavaScript
- Полное руководство по датам JavaScript
- Момент. js учебник
- Точка с запятой в JavaScript
- Арифметические операторы JavaScript
- Объект JavaScript Math
- Генерировать случайные и уникальные строки в JavaScript
- Как заставить ваши функции JavaScript "спать"
- Прототипное наследование JavaScript
- Исключения JavaScript
- Как использовать классы JavaScript
- Поваренная книга JavaScript
- Цитаты в JavaScript
- Как проверить адрес электронной почты в JavaScript
- Как получить уникальные свойства набора объектов в массиве JavaScript
- Как проверить, начинается ли строка с другой в JavaScript
- Как создать многострочную строку в JavaScript
- Руководство ES6
- Как получить текущий URL в JavaScript
- Руководство ES2016
- Как инициализировать новый массив значениями в JavaScript
- Руководство ES2017
- Руководство ES2018
- Как использовать Async и Await с массивом. prototype.map ()
- Async против кода синхронизации
- Как сгенерировать случайное число между двумя числами в JavaScript
- Учебное пособие по HTML Canvas API
- Как получить индекс итерации в цикле for-of в JavaScript
- Что такое одностраничное приложение?
- Введение в WebAssembly
- Введение в JSON
- Руководство JSONP
- Стоит ли использовать или изучать jQuery в 2020 году?
- Как скрыть элемент DOM с помощью простого JavaScript
- Как объединить два объекта в JavaScript
- Как очистить массив JavaScript
- Как закодировать URL-адрес с помощью JavaScript
- Как установить значения параметров по умолчанию в JavaScript
- Как отсортировать массив объектов по значению свойства в JavaScript
- Как подсчитать количество свойств в объекте JavaScript
- call () и apply () в JavaScript
- Введение в PeerJS, библиотеку WebRTC
- Работа с объектами и массивами с помощью Rest и Spread
- Разрушение объектов и массивов в JavaScript
- Полное руководство по отладке JavaScript
- Руководство по TypeScript
- Динамически выбрать метод объекта в JavaScript
- Передача undefined в JavaScript Выражения немедленно вызываемой функции
- Свободно типизированные языки против строго типизированных языков
- Как стилизовать элементы DOM с помощью JavaScript
- Приведение в JavaScript
- Учебное пособие по генераторам JavaScript
- Размер папки node_modules не является проблемой. Это привилегия
- Как устранить непредвиденную ошибку идентификатора при импорте модулей в JavaScript
- Как перечислить все методы объекта в JavaScript
- Метод String replace ()
- Метод String search ()
- Как я запускаю небольшие фрагменты кода JavaScript
- Руководство ES2019
- Метод String charAt ()
- Метод String charCodeAt ()
- Метод String codePointAt ()
- Метод String concat ()
- Метод String EndWith ()
- Строка включает метод ()
- Метод String indexOf ()
- Метод String lastIndexOf ()
- Метод String localeCompare ()
- Метод String match ()
- Метод String normalize ()
- Метод String padEnd ()
- Метод String padStart ()
- Метод String repeat ()
- Метод String slice ()
- Метод String split ()
- Метод String StartWith ()
- Метод String substring ()
- Метод String toLocaleLowerCase ()
- Метод String toLocaleUpperCase ()
- Метод String toLowerCase ()
- Метод String toString ()
- Метод String toUpperCase ()
- Метод String trim ()
- Метод String trimEnd ()
- String trimStart () метод
- Мемоизация в JavaScript
- Метод String valueOf ()
- Ссылка на JavaScript: Строка
- Метод Number isInteger ()
- Метод Number isNaN ()
- Метод Number isSafeInteger ()
- Метод Number parseFloat ()
- Метод Number parseInt ()
- Метод Number toString ()
- Метод Number valueOf ()
- Метод Number toPrecision ()
- Метод Number toExponential ()
- Метод Number toLocaleString ()
- Метод Number toFixed ()
- Метод Number isFinite ()
- Ссылка на JavaScript: номер
- Дескрипторы свойств JavaScript
- Метод Object assign ()
- Метод создания объекта ()
- Метод Object defineProperties ()
- Метод Object defineProperty ()
- Метод записи объекта ()
- Метод Object freeze ()
- Метод объекта getOwnPropertyDescriptor ()
- Метод объекта getOwnPropertyDescriptors ()
- Метод объекта getOwnPropertyNames ()
- Метод объекта getOwnPropertySymbols ()
- Метод Object getPrototypeOf ()
- Метод Object is ()
- Метод Object isExtensible ()
- Метод Object isFrozen ()
- Метод Object isSealed ()
- Метод Object keys ()
- Метод объекта preventExtensions ()
- Метод объекта seal ()
- Метод объекта setPrototypeOf ()
- Метод значений объекта ()
- Метод объекта hasOwnProperty ()
- Метод Object isPrototypeOf ()
- Метод объекта propertyIsEnumerable ()
- Метод объекта toLocaleString ()
- Метод объекта toString ()
- Метод объекта valueOf ()
- Ссылка на JavaScript: объект
- Оператор присваивания JavaScript
- Интернационализация JavaScript
- Тип JavaScript оператора
- Новый оператор JavaScript
- Операторы сравнения JavaScript
- Правила приоритета операторов JavaScript
- Экземпляр JavaScript оператора
- Операторы JavaScript
- Область действия JavaScript
- Преобразования типов JavaScript (приведение)
- Операторы равенства JavaScript
- Условное выражение if / else в JavaScript
- Условный переключатель JavaScript
- Оператор удаления JavaScript
- Параметры функции JavaScript
- Оператор распространения JavaScript
- Возвращаемые значения JavaScript
- Логические операторы JavaScript
- Тернарный оператор JavaScript
- Рекурсия JavaScript
- Свойства объекта JavaScript
- Объекты ошибок JavaScript
- Глобальный объект JavaScript
- Функция JavaScript filter ()
- Функция JavaScript map ()
- Функция JavaScript reduce ()
- Оператор in в JavaScript
- Операторы JavaScript
- Как получить значение свойства CSS в JavaScript
- Как добавить прослушиватель событий к нескольким элементам в JavaScript
- Поля частного класса JavaScript
- Как отсортировать массив по значению даты в JavaScript
- Поля открытого класса JavaScript
- Символы JavaScript
- Как использовать библиотеку JavaScript bcrypt
- Как переименовать поля при использовании деструктуризации объекта
- Как проверять типы в JavaScript без использования TypeScript
- Как проверить, содержит ли массив JavaScript определенное значение
- Что означает оператор двойного отрицания !! делать в JavaScript?
- Какой оператор равенства следует использовать при сравнении JavaScript? == против ===
- Стоит ли изучать JavaScript?
- Как вернуть результат асинхронной функции в JavaScript
- Как проверить, пустой ли объект в JavaScript
- Как выйти из цикла for в JavaScript
- Как добавить элемент в массив по определенному индексу в JavaScript
- Почему не следует изменять прототип объекта JavaScript
- В чем разница между использованием let и var в JavaScript?
- Ссылки, используемые для активации функций JavaScript
- Как соединить две строки в JavaScript
- Как объединить два массива в JavaScript
- Как проверить, является ли значение JavaScript массивом?
- Как получить последний элемент массива в JavaScript?
- Как отправить данные в кодировке с помощью Axios
- Как узнать дату завтрашнего дня с помощью JavaScript
- Как получить вчерашнюю дату с помощью JavaScript
- Как получить название месяца из даты JavaScript
- Как проверить, совпадают ли две даты в один и тот же день в JavaScript
- Как проверить, относится ли дата к дню в прошлом в JavaScript
- Операторы, помеченные JavaScript
- Как дождаться разрешения 2 или более обещаний в JavaScript
- Как получить дни между двумя датами в JavaScript
- Как загрузить файл с помощью Fetch
- Как отформатировать дату в JavaScript
- Как перебирать свойства объекта в JavaScript
- Как рассчитать количество дней между двумя датами в JavaScript
- Как использовать ожидание верхнего уровня в модулях ES
- Динамический импорт JavaScript
- JavaScript Необязательное связывание
- Как заменить пробел внутри строки в JavaScript
- Нулевое объединение JavaScript
- Как сгладить массив в JavaScript
- Это десятилетие в JavaScript
- Как отправить заголовок авторизации с помощью Axios
- Список ключевых и зарезервированных слов в JavaScript
- Как преобразовать массив в строку в JavaScript
- Как удалить все содержимое папок node_modules
- Как удалить дубликаты из массива JavaScript
- Let vs Const в JavaScript
- Один и тот же вызов POST API в различных библиотеках JavaScript
- Как получить первые n элементов в массиве в JS
- Как разделить массив на несколько равных частей в JS
- Как замедлить цикл в JavaScript
- Как загрузить изображение на холст HTML
- Как разрезать строку на слова в JavaScript
- Как разделить массив пополам в JavaScript
- Как написать текст на холсте HTML
- Как удалить последний символ строки в JavaScript
- Как удалить первый символ строки в JavaScript
- Как исправить ошибку TypeError: не удается назначить свойство «Export» только для чтения объекта «#
- Как создать всплывающее окно с намерением выхода
- Как проверить, является ли элемент потомком другого
- Как принудительно вводить учетные данные для каждого запроса Axios
- Как устранить ошибку "не функция" в JavaScript
- Гэтсби, как поменять фавикон
- Загрузка внешнего файла JS с помощью Gatsby
- Как определить темный режим с помощью JavaScript
- Посылка, как исправить ошибку `регенератор Время выполнения не определено`
- Как определить, используется ли блокировщик рекламы с JavaScript
- Деструктуризация объекта с типами в TypeScript
- The Deno Handbook: краткое введение в Deno 🦕
- Как получить последний сегмент пути или URL-адреса с помощью JavaScript
- Как перемешать элементы в массиве JavaScript
- Как проверить, существует ли ключ в объекте JavaScript
- Возбуждение событий и захват событий
- событие. stopPropagation против event.preventDefault () против return false в событиях DOM
- Примитивные типы и объекты в JavaScript
- Как узнать, к какому типу относится значение в JavaScript?
- Как вернуть несколько значений из функции в JavaScript
- Стрелочные функции и обычные функции в JavaScript
- Как мы можем получить доступ к значению свойства объекта?
- В чем разница между null и undefined в JavaScript?
- В чем разница между методом и функцией?
- Как мы можем выйти из цикла в JavaScript?
- JavaScript для.петля
- Что такое деструктуризация объектов в JavaScript?
- Что поддерживает JavaScript?
- Как заменить запятые на точки с помощью JavaScript
- Важность тайминга при работе с DOM
- Как перевернуть массив JavaScript
- Как проверить, является ли значение числом в JavaScript
- Как принять неограниченное количество параметров в функции JavaScript
- Прокси-объекты JavaScript
- Делегирование событий в браузере с использованием ванильного JavaScript
- Супер-ключевое слово JavaScript
- Введение в XState
- Значения передаются в JavaScript по ссылке или по значению?
- Пользовательские события в JavaScript
- Пользовательские ошибки в JavaScript
- Пространства имен в JavaScript
- Любопытное использование запятых в JavaScript
- Цепочка вызовов методов в JavaScript
- Как работать с отклонениями обещаний
- Как поменять местами два элемента массива в JavaScript
- Как я исправил ошибку "cb. "применить не является функцией" ошибка при использовании Gitbook
- Как добавить элемент в начало массива в JavaScript
- Gatsby, исправьте ошибку «не удается найти модуль gatsby-cli / lib / reporter»
- Как получить индекс элемента в массиве JavaScript
- Как проверить пустой объект в JavaScript
- Как деструктурировать объект до существующих переменных в JavaScript
- Структура данных JavaScript массива
- Структура данных JavaScript стека
- Структуры данных JavaScript: очередь
- Структуры данных JavaScript: установить
- Структуры данных JavaScript: словари
- Структуры данных JavaScript: связанные списки
- JavaScript, как экспортировать функцию
- JavaScript, как экспортировать несколько функций
- JavaScript, как выйти из функции
- JavaScript, как найти символ в строке
- JavaScript, как фильтровать массив
- JavaScript, как расширить класс
- JavaScript, как найти дубликаты в массиве
- JavaScript, как заменить элемент массива
- Алгоритмы JavaScript: линейный поиск
- Алгоритмы JavaScript: двоичный поиск
- Алгоритмы JavaScript: сортировка выбора
- Алгоритмы JavaScript: Quicksort
- Алгоритмы JavaScript: сортировка слиянием
- Алгоритмы JavaScript: пузырьковая сортировка
- Дождитесь разрешения всех обещаний в JavaScript
.