Циклы могут быть довольно интересными при использовании чистого JavaScript. Похоже, что только ECMA6 (спецификация JavaScript для нового 2015 года) получил контроль над циклами. К сожалению, поскольку я пишу это, оба браузера и популярная интегрированная среда разработки (IDE) по-прежнему изо всех сил пытаются полностью поддержать новые колокола и свистки.
На первый взгляд, вот как выглядит цикл JavaScript JavaScript раньше ECMA6:
for (var key in object) {
if (p.hasOwnProperty(key)) {
var value = object[key];
console.log(key); // This is the key;
console.log(value); // This is the value;
}
}
Кроме того, я знаю, что этот вопрос выходит за рамки этого вопроса, но в 2011 году ECMAScript 5.1 добавил метод forEach
только для массивов, который в основном создал новый улучшенный способ циклического преобразования массивов в то же время оставляя неизменяемые объекты со старым многословным и запутанным циклом for
. Но нечетная часть заключается в том, что этот новый метод forEach
не поддерживает break
, что привело к возникновению всех других проблем.
В основном в 2011 году не существует реального твердого метода для цикла в JavaScript чем то, что многие популярные библиотеки (jQuery, Underscore и т. д.) решили повторно реализовать.
С 2015 года у нас теперь есть лучший способ использовать цикл (и разбивать) любой тип объекта ( включая массивы и строки). Вот как выглядит цикл в JavaScript, когда рекомендация станет основной:
for (let [key, value] of Object.entries(object)) {
console.log(key); // This is the key;
console.log(value); // This is the value;
}
Обратите внимание, что большинство браузеров не будут поддерживать код выше с 18 июня 2016 года. Даже в Chrome вам нужно включите этот специальный флаг для работы: chrome://flags/#enable-javascript-harmony
Пока это не станет новым стандартом, старый метод все еще можно использовать, но есть также альтернативы в популярных библиотеках или даже облегченных альтернативах для тех, кто не использует ни одну из этих библиотек.
Необходимо смочь сделать это, хотя Вы делаете, должны запустить второе соединение.