So mache ich das zur Zeit in meinem Js-Skript:Wie verwendet man Js und assoziative Arrays, die einen String einfügen?
var someObject = require('./stored');
this.makeDuplicates = function(){
var storeDuplicates = [];
this.addDuplicates = function(astring){
storeDuplicates[astring] = new someObject();
}
this.printDuplicate = function(){
console.log(storeDuplicates["hello"]);
}
}
var input = "hello"
var newDupe = new makeDuplicates()
newDupe.addDuplicates(input)
newDupe.printDuplicate()
diese dann nicht definiert gedruckt werden. Warum wird das nicht richtig gemacht? Ich würde annehmen, es würde eine Hash-ähnliche Tabelle erstellen, in der "string" -> ref zu objekt, aber es scheint nicht so. Wie kann ich das tun? Vielen Dank!
var someObject = function() {this.x = 1}; und dann irgendeinObject {x: 1} kein Fehler, nicht undefiniert, ist es erforderlich ('./ gespeichert') ein Konstruktor? Dennoch ist es besser var storeDuplicates = {} anstelle von [] zu verwenden, da Sie als Hash-Tabelle verwenden, in js ist es Objekt –
@YanjunLin: 'require()' ist eine Funktion in node.js zum Importieren anderer Module – slebetman
Sie Es wird entweder nicht der gesamte Code angezeigt, oder der Code selbst ist weit entfernt. Wie gezeigt, wird "this" wahrscheinlich zu "window" (der globale Kontext von javascript) im Vergleich zum Prototyp von Object –