Mam ciąg znaków JSON zwrócony z wywołania ajax w określonym formacie i kiedy zaczynam konwertować je wszystkie na mój własny obiekt JavaScript, zaczynam się zastanawiać, czy istnieje jakiś prostszy sposób ponieważ mówimy tutaj Javascript.JavaScript zamienia łańcuch JSON na instancję funkcji
Muszę var manyOfThem = [ { name: 'a' }, { name: 'b' }, { name: 'c' } ];
I chciałbym łatwo skojarzyć każdy z tych obiektów z moich funkcji tak, że mogę robić takie rzeczy jak:
myClass.prototype.doSomething = function() {
// do something to this.name
};
$.each(manyOfThem, function(index, item) {
item.doSomething();
});
Chyba moje obawy o to, że nie chcą do (ponieważ jego powtarzalne) to zrobić:
var myClass = function(item) {
this.name = item.name;
// do the same for the rest of item's potentially 20 properties
};
var oneOfThem = new myClass(manyOfThem[0]); // I think this is redundant....
oneOfThem.doSomething();
tak czy inaczej, jeśli istnieje również zabezpieczenia (?) powody, ja po prostu ssać go i zrobić je wszystkie ręcznie proszę podzielić się jak dobrze, dzięki!
myślę, że to zależy od tego, co chcesz w 'doSomething'. Czy możesz podzielić się swoim planem? Na przykład, dlaczego nie mogłeś po prostu utworzyć funkcji 'doSomething' i przekazać do niej' item'? – Ian
Zawsze możesz mieć 'myClass' akceptować tablicę (' manyOfThem' w tym przypadku). Następnie, gdy chcesz manipulować jednym z jego elementów (wywołując funkcję 'doSomething'), możesz zrobić' myClass.doSomething (3) 'oznaczający trzeci indeks. Następnie wewnętrznie działałby tylko na trzeci element tablicy (bez wystawiania tablicy). – Ian
@ian Cóż, to naprawdę może być cokolwiek, a jeśli 'coś" coś by było poza tym byłoby 1. w globalnej przestrzeni nazw, 2. zorientowane na obiekt obiektowy – Lim