Ich habe eine Reihe von JSON-String von einem Ajax-Aufruf in einem bestimmten Format zurückgegeben und beim Start, um sie alle in mein eigenes Javascript-Objekt zu konvertieren, frage ich mich, ob es einen einfacheren Weg gibt da wir hier Javascript sprechen.Javascript JSON Zeichenfolge in Instanz der Funktion
werde ich var manyOfThem = [ { name: 'a' }, { name: 'b' }, { name: 'c' } ];
Und ich möchte einfach mit meinen Funktionen jedes dieser Objekte verknüpfen, so dass ich Dinge wie tun können:
myClass.prototype.doSomething = function() {
// do something to this.name
};
$.each(manyOfThem, function(index, item) {
item.doSomething();
});
Ich denke, meine Sorge ist, würde ich nicht wollen zu (wegen seiner repetitiven) dies zu tun:
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();
wie dem auch sei, die Gründe, wenn es auch ist (Sicherheit?), warum ich gerade saugen müss und tun sie alle von Hand als auch teilen, dank bitte!
Ich denke, es hängt davon ab, was Sie wollen in 'doSomething'. Können Sie teilen, was Ihr Plan ist? Wieso könntest du nicht einfach eine 'Funktion' namens' doSomething' machen und 'item' daran übergeben? – Ian
Sie könnten immer 'myClass' ein Array akzeptieren lassen (' manyOfThem' in diesem Fall). Wenn Sie dann eines seiner Elemente manipulieren möchten (indem Sie eine "doSomething" -Funktion aufrufen), können Sie 'myClass.doSomething (3)' verwenden, was den 3. Index bedeutet. Dann würde es intern nur auf dem dritten Element im Array arbeiten (ohne das Array freizulegen). – Ian
@ian Nun, es könnte wirklich alles sein, und wenn "doSomething" eine Funktion außerhalb alles wäre, wäre es 1. im globalen Namespace, 2. Gegenobjekt orientierten Entwurf – Lim