#javascript #internet-explorer
#javascript #internet-explorer
Вопрос:
Я смотрю на эту таблицу совместимости браузера здесь: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/Set#Browser_compatibility
[Совместимость с браузером JavaScript Set][1] [1]: https://i.stack.imgur.com/9Hxdu.png
И я вижу, что для IE11 поддерживается конструктор Set (), но не новый набор (с возможностью повторения). В чем разница между этими двумя? Я думал, что new Set(iterable) был конструктором Set()?
Комментарии:
1. Похоже, что в браузере IE 11 мы не можем выполнить какое-либо действие, содержащее массив, при использовании Set. Вы можете заметить, что вы можете использовать его метод для работы с одним значением, но он выдаст ошибку, если вы попытаетесь передать ему несколько значений. Ссылка: Set
Ответ №1:
Ответ №2:
Вероятно, версия IE не разрешает аргумент конструктору.
Недопустимо в IE:
const array = Array(10).fill(0).map((_, i) => i)
const set = new Set(array)
Допустимо в IE:
const array = Array(10).fill(0).map((_, i) => i)
const set = new Set()
array.forEach(el => set.add(el))
Комментарии:
1. Это имело бы смысл. Спасибо.