我在Internet Explorer中收到错误“预期标识符”。在所有其他浏览器中均可使用。
for(var [i, article] of articles.entries()) {
if(article.hero) {
heroes.unshift(article);
articles.splice(i, 1);
break;
}
}
对此将提供任何帮助。
谢谢
答案 0 :(得分:0)
转到 Destructuring assignment compatibility section
基本上,IE不支持使用解构方法,因此您应该修改逻辑以使用更广泛的支持方法。
例如:
for (var i in articles) {
var article = articles[i];
if (article.hero) {
heroes.unshift(article);
articles.splice(i, 1); // (Pay attention) variable i should be a number.
break;
}
}
答案 1 :(得分:0)
以下代码应能正常工作:-
for (var _iterator = articles.entries(), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var _ref2 = _ref,
i = _ref2[0],
article = _ref2[1];
if (article.hero) {
heroes.unshift(article);
articles.splice(i, 1);
break;
}
}
用于转换javascript代码 参考:-https://babeljs.io/repl
答案 2 :(得分:0)
对象和数组的解构。 Object.entries
都不是。
而是尝试使用普通的for
循环。
for (var i = 0; i < articles.lenght; articles++) {
var article = articles[i];
if (article.hero) {
heroes.unshift(article);
articles.splice(i, 1);
break;
}
}