Коротко JS Скрипт вызывает синтаксическую ошибку в IE - PullRequest
0 голосов
/ 04 августа 2020

Я нашел приведенный ниже сценарий в ответах на другой вопрос. Он генерирует массив случайных уникальных чисел от 0 до 4 и отлично работает в большинстве браузеров, но дает синтаксическую ошибку в Inte rnet Explorer.

const n1 = myQuestions.length;
const n2 = 5;

let pool = [...Array(n1).keys()];

var result = [];

while (result.length < n2) {
   let index = Math.floor(Math.random() * pool.length);
   result = result.concat(pool.splice(index, 1));       
}

Похоже, это строка с ошибкой:

    let pool = [...Array(n1).keys()];

Я не совсем уверен, почему эта строка вызывает ошибку, но я предполагаю, что IE не поддерживает некоторые сценарии.

Есть ли способ, которым я могу может изменить этот сценарий или добавить полифилл, чтобы он работал в IE?

1 Ответ

1 голос
/ 05 августа 2020

Я предлагаю попробовать изменить ваш код, как пример ниже может помочь работать с ним в браузере IE.

const result = []
const values = ['a', 'b']
Array.prototype.push.apply(result, values)
console.log(result)

Ссылка:

Альтернативы синтаксиса распространения

Существует полифилл для Объект.ключи (). вы также можете попробовать сослаться на него.

...