У меня есть функция addAfter и addBefore, которая добавляет новый элемент в массив. Этот массив - это мое хранилище, которое используют другие функции. В основном я храню объекты низкого уровня, которые определяют ячейки таблицы. После добавления элемента в массив я должен вставить значение свойства html элемента в строку таблицы.Array.Splice prototype
Есть ли способ прототипировать мой массив для обработки обеих операций, вместо того чтобы мне нужно удваивать нагрузку при каждом добавлении или добавлении перед тем, как отключить прототип собственного массива?
var bays=[];
addAfter: function (b, n) {
for (var i = 0, ii, len = bays.length; i < len; i++) {
ii = i + 1; if (ii == n) {
bays.splice(ii, 0, b);
var newCell = canvsTrBay.insertCell(ii);
newCell.outerHTML = b._html;
};
};
this.build();
}
Можно ли сделать что-то вроде:
bays.prototype.add=function(b,n,isAfter){
for (var i = 0, ii, len = bays.length; i < len; i++) {
ii =(isAfter? (i + 1):(n>0?i-1:0);
if (ii == n) {
bays.splice(ii, 0, b);
var newCell = canvsTrBay.insertCell(ii);
newCell.outerHTML = b._html;
};
};
this.build();
}
нормально, я, наконец, получил то, что вы» re ссылаясь на. –