Проблема с extends Array и splice

221
11 июня 2017, 20:07

Столкнулся с такой проблемой. Есть класс extends Array, который надо очистить.

class Grid extends Array { 
    constructor(board){ 
        super(); 
        // условное содержимое -  
        this.push([{x:0,y:0}][{x:0,y:1}],[{x:1,y:0}][{x:1,y:1}]); 
        console.log('grid constructed'); 
        this.ctx = board.layers.grid; //очень нужная вещь без которой ничего не работает 
    } 
    clear(){ 
        this.splice(0, this.length); 
    } 
} 
const grid = new Grid({layers:{grid:'2d)'}}); 
 
grid.clear();// oops..

Что можно предпринять?

Answer 1

Кажется, что метод .splice всегда вызывает конструктор "под капотом".

Можно очистить grid другим образом:

clear(){
    this.length = 0;
}
READ ALSO
Преобразование массива в в JSON

Преобразование массива в в JSON

Задача: собрать элементы на странице и сделать массив или точнее JSON в виде

286
Чем отличаются два этих способа ловли ошибок?

Чем отличаются два этих способа ловли ошибок?

По-моему это ведь одно и тоже, только во втором случае используется нестандартный синтаксис

303
JS - Приложение

JS - Приложение

Всем доброго времени сутокВ backbone js есть возможность структурировать вид

335
Вызов функции при загрузке

Вызов функции при загрузке

Есть некая функция, точнее часть об общего скрипта, вызываемая при нажатии:

373