Ich habe hier eine Funktion, die eine bestimmte Eigenschaft von einem Objekt innerhalb eines Arrays aufruft.Übergeben von Eigenschaftswerten den effizienten Weg
Jedes Objekt hat mehrere Eigenschaften, also verwende ich gerade mehrere Funktionen, um bestimmte Eigenschaften wie diese aufzurufen. Ich weiß, dass dies furchtbar ineffizient ist und dass dies viel effizienter sein könnte.
var fiftyplanets = [{
"Hostname": "11 Com",
"Distance [pc]": 110.62,
"Effective Temperature [K]": 4742,
"Date of Last Update": "5/14/2014"
}];
function findDistance(hostname) {
function search(am, im) {
if (am.Hostname === hostname) {
index = im;
return true;
}
}
var index;
if (fiftyplanets.some(search)) {
return fiftyplanets[index]['Distance [pc]'];
}
}
function findTemp(hostname) {
function search(am, im) {
if (am.Hostname === hostname) {
index = im;
return true;
}
}
var index;
if (fiftyplanets.some(search)) {
return fiftyplanets[index]['Effective Temperature [K]'];
}
}
var name = value;
var resullt = fiftyplanets.indexOf(name);
var dist = findDistance(name);
var temp = findTemp(name);
Wie kann ich die obige Funktion effizient schreiben, so dass ich mit nur einer Funktion nach bestimmten Eigenschaften suche?
Es sei denn, es einen bestimmten Fehler oder geben Sie haben ich Ihre Frage zu [Code Review] bewegen würde empfehlen (http://codereview.stackexchange.com/). – chazsolo
Ich wusste nicht, dass eine solche Website existiert. Gibt es ein Migrationstool oder etwas, das diese Frage an diese Site weiterleiten kann? Oder muss ich das hier löschen und dort kopieren/einfügen? – TheNuttyStudent
[Es gibt eine Antwort hier] (http://meta.stackexchange.com/questions/85017/how-do-i-move-my-own-question-to-another-stack-exchange-site), die etwas Gutes hat Info. Ich markiere die Aufmerksamkeit des Moderators, um zu sehen, ob er verschoben werden kann. – chazsolo