2016-06-09 4 views
3

Я не могу найти такую ​​же проблему онлайн. IE 11 дает ошибку «Объект не поддерживает свойство или метод« fill ».Объект не поддерживает свойство или метод 'fill'

var arr = new Array(5); 
arr.fill(false); 

Есть ли удобный способ заполнить массив вместо того, чтобы использовать for цикл? Благодарю.

ответ

4

Установите trivial polyfill и получите .fill(…).

+1

Это должно быть правильным ответом. Не мучайтесь о том, доступен ли ваш любимый метод - просто укажите полиполк, если это не так. –

+0

Да, спасибо. :) – NMSL

1

Вы можете использовать Array .apply для получения массива с требуемой длиной, а затем сопоставить значение с ним.

var a = Array.apply(null, { length: 5 }).map(function() { return false; }); 
 
console.log(a);

+2

Обратите внимание, что это довольно медленно для больших массивов. – Bergi

+0

медленный означает работу ;-) –

0

заполнения(); Не поддерживается в IE. Он представлен в EDGE. Я думаю, foreach - удобный способ выполнить задачу. Будет обновлен, если вы найдете больше. Вы можете прочитать следующее:

Смежные вопросы