Ich habe eine Zeichenfolge, die ich innerhalb eines JSON-Objekts suchen muss und eine bestimmte Hash-Nummer von diesem gefundenen Wert zurückgeben. Ich habe es ohne Unterstreichung funktionieren lassen, aber es ist schlecht optimiert. Was ich tun muss, ist die Schleife zu stoppen, sobald die fileToSearch
Zeichenfolge gefunden wird.Unterstreichung verwenden, um einen Wert nach Schlüssel zu finden
Zum Beispiel habe ich ein JSON-Objekt hier:
var json = {
"images/mike.jpg" : "images/mike.12345.jpg",
"images/joe.jpg" : "images/joe.axcvas.jpg",
"images/mary.jpg" : "images/mary.mndfkndf.jpg",
"images/jane.jpg" : "images/jane.dfad34.jpg",
};
Und ich habe eine Variable fileToSearch
, die ich brauche in der obigen Aufgabe zu suchen.
var fileToSearch = "joe.jpg";
Was ist der Hash-Wert in images/joe.axcvas.jpg
, so axcvas
erhalten ausgegeben sollte.
Ohne Strich:
var hash;
for (var key in json) {
var index = key.indexOf(fileToSearch);
if (index !== -1) {
hash = json[key].split('.')[1];
}
}
console.log(hash); //axcvas
Wie kann ich optimieren/diese mit Unders erreichen?
Heck, Sie brauchen nicht einmal 'Filter'. Wirf einfach eine Pause ein, nachdem du deinen Hash gefunden hast und er ist schon ziemlich optimal. – Hamms