2017-04-05 26 views
1

Ich habe eine Suche function gemacht, die die value für die keyidreturn wird, wenn die value in name meine Spiele keyparameter.Javascript Funktionsparameter für Objektschlüssel

function search(array, key){ 
 
    for (var i=0; i < array.length; i++) { 
 
     if (array[i].name === key) { 
 
      return array[i].id; 
 
     } 
 
    } 
 
}

Ich versuche, den Code so kann ich einfügen 'name' key und 'id' key als modifizierbar parameters zu ändern. Hier ist der Code, den ich gemacht habe, um dies zu erreichen, aber es scheint wie objectkeys kann nicht functionparameters sein?

function search(array, key, compareKey, valueKey){ 
 
for (var i=0; i < array.length; i++) { 
 
    if (array[i].[compareKey] === key) { 
 
     return array[i].[valueKey]; 
 
    } 
 
} 
 
}

Anmerkung: I in erster Linie in einem anderen dieser functionfor loop verschachtelt verwenden dass iteriert durch Daten und Werte modifiziert, und gibt sie in eine andere spreadsheet. Mit dieser Funktion kann ich Daten in einem anderen Arbeitsblatt durchlaufen, Werte vergleichen und den übereinstimmenden Wert an die richtige Zeile im Ausgabe-Arbeitsblatt ausgeben.

Irgendwelche Vorschläge, was ich tun kann, damit ich die Schlüssel des Objekts im laufenden Betrieb ändern kann?

Lösung (ich hatte das entfernen ''):

function search(array, key, compareKey, valueKey){ 
for (var i=0; i < array.length; i++) { 
    if (array[i][compareKey] === key) { 
     return array[i][valueKey]; 
    } 
} 

}

+0

array [i] [compareKey ]? –

+0

wow ... ja, danke. – WC123

Antwort

0

Sie eckige Klammern für diese verwenden:

function search(array, key, compareKey, valueKey){ 
    for (var i=0; i < array.length; i++) { 
     if (array[i][compareKey] === key) { 
      return array[i][valueKey]; 
     } 
    } 
} 
Verwandte Themen