Мне нужна помощь в переводе следующего кода es6 на код es5.Перевести ES6 'for' loop from ES5 'for-each' loop
for (let [field_name, field] of impList) {
//// some code
}
Спасибо.
Мне нужна помощь в переводе следующего кода es6 на код es5.Перевести ES6 'for' loop from ES5 'for-each' loop
for (let [field_name, field] of impList) {
//// some code
}
Спасибо.
Предполагая, что impList
является Array
(или массив-подобный объект), а не ES6 Iterable type (что потребует polyfills и т.д.), вы можете примерно перевести это в for
цикла:
for (var i=0; i<impList.length; i++) {
var field_name = impList[i][0];
var field = impList[i][1];
}
Или forEach:
impList.forEach(function(entry) {
var field_name = entry[0];
var field = entry[1];
});
в дополнении к impList
возможно будучи Iterable, есть некоторые нюансы, которые здесь я не переводил на ES5, потому что довольно много предостережения s. Вот почему вы должны использовать транспилятор, такой как Babel.
, честно говоря, я не понимаю код Babel: for (var _iterator = impList.entries() [Symbol.iterator](), _step;! (_ IteratorNormalCompletion = (_step = _iterator.next()) done); _iteratorNormalCompletion = true) { \t var _step $ value = _slicedToArray (_step.value, 2); var field_name = _step $ value [0]; \t var _field = _step $ value [1]; } – badigard
Выход Babel написан для компьютеров, а не для людей. Он включает в себя полиполки, прокладки и функциональные возможности для решения нюансов, описанных выше. Все, что вам нужно знать, вы вставляете в ES6 и выдает действительный ES5! – CodingIntrigue
Когда я помещаю код es5, я получаю ошибку на объекте «Символ». – badigard
Это зависит от того, что такое 'impList'. «Карта»? Массив? – Bergi
Вы пытались использовать транспилер? [Использовать Babel] (http://babeljs.io/repl/#?evaluate=true&lineWrap=false&presets=on&experimental=false&loose=false&spec=false&playground=true&code=for%20 (пусть% 20% 5Bfield_name% 2C% 20field% 5D% 20of % 20impList)% 20% 7B% 0D% 0A% 20% 20% 20% 2F% 2F% 20some% 20code% 0D% 0A% 7D). – Bergi