Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Унаследовать Array (https://javascript.ru/forum/misc/25136-unasledovat-array.html)

inst 26.01.2012 18:18

Цитата:

Сообщение от Nekromancer (Сообщение 153075)
var A = function(){};
A.prototype = [];
var a = new A;
a.push('vasea', 'test');
alert(a);
alert((Array.isArray || function(o){Object.prototype.toString.call(o) == '[object Array]'})(a));


В общем такое можно, но только в новых браузерах. IE<9 не проканает, хотя есть и свои хаки.

Спасибо. Значит, ответ отрицательный.

Livaanderiamarum 26.01.2012 18:19

inst,
а, да, щас сделаю))) я просто не понял что за лист я думал ты список какой то сделать хочешь.

Livaanderiamarum 26.01.2012 18:20

Цитата:

Сообщение от inst (Сообщение 153080)
Спасибо. Значит, ответ отрицательный.

Нет нет щас сделаю)

melky 26.01.2012 18:24

один вопрос - List должен фильтровать поступающие данные, если они назначаются так ?
myList[ 5 ] = "тут что-то";

inst 26.01.2012 18:26

Цитата:

Сообщение от melky (Сообщение 153086)
один вопрос - List должен фильтровать поступающие данные, если они назначаются так ?
myList[ 5 ] = "тут что-то";

Ну, это конечно было бы здорово. Только разве это возможно? o.0

Livaanderiamarum 26.01.2012 18:31

Что хочу сказать, сделать такой List есть миллиард способов, ты хочешь сделать именно выбранным тобой способом?

То есть сделать обьект который бы использовал внутри себя массив и являлся для него как бы оболочкой. При том включал бы в себя все его методы, при том на все эти меоды можно было бы повесить фильтр типа
onНазваниеМетода и если этот фильтр возвратит true, то метод срабатывал бы, если возвратит false , то не срабатывал бы)? так?

inst 26.01.2012 18:35

Цитата:

Сообщение от Livaanderiamarum (Сообщение 153091)
Что хочу сказать, сделать такой List есть миллиард способов, ты хочешь сделать именно выбранным тобой способом?

То есть сделать обьект который бы использовал внутри себя массив и являлся для него как бы оболочкой. При том включал бы в себя все его методы, при том на все эти меоды можно было бы повесить фильтр типа
onНазваниеМетода и если этот фильтр возвратит true, то метод срабатывал бы, если возвратит false , то не срабатывал бы)? так?

Да, List, который как и любой Array можно было бы перебирать в конструкциях типа for(var item in list) {
if (list.hasOwnProperty(item)) {console.log(list[item])}
}
и при этом дополнительно имелся бы описанный тобой функционал фильтра.

inst 26.01.2012 18:37

На самом деле, мне просто непонятно, что не так с моим кодом?
Но за помощь, конечно, всем большое спасибо :)

Livaanderiamarum 26.01.2012 18:55

Цитата:

Сообщение от inst (Сообщение 153094)
На самом деле, мне просто непонятно, что не так с моим кодом?
Но за помощь, конечно, всем большое спасибо :)

ты понимаешь что тебе придется переписывать все методы которые будут использовать фильтры)? я перепишу только один, остальное ты

Livaanderiamarum 26.01.2012 18:59

Собираешься ли ты менять фильтры на ходу несколько раз, собираешься ли ты менять фильтры у отдельных листов? есть ли фильтры по умолчанию?

_
вот если бы мне нужен был массив который бы принимал только числа, я бы сделал не так тупо как ты я бы сделал так:


Часовой пояс GMT +3, время: 06:25.