Wenn Sie an einem Unternehmensprojekt arbeiten, müssen Sie eine Methode schreiben, die Parameter der Methode sind eine Menü-Array-Sammlung und eine Menü-ID, und das Format des Menü-Arrays ist ein baumartiges JSON, wie unten gezeigt:
Die Codekopie lautet wie folgt: [{"ID": 28, "Text": "Unternehmensinformationen", "Kinder": [
{"ID": 1, "Text": "Unternehmenskultur"},
{"ID": 2, "Text": "Rekrutierungsplan"},
{"ID": 6, "Text": "Firmennachrichten", "Kinder": [
{"ID": 47, "Text": "Branchennachrichten"}]},
{"ID": 11, "Text": "Interne Nachrichten", "Kinder": [
{"ID": 24, "Text": "Verwaltungsinformationen"},
{"ID": 27, "Text": "Angabe auf hoher Ebene"}]},
{"ID": 22, "Text": "Kontaktieren Sie uns"},
{"ID": 26, "Text": "Produktanzeige", "Kinder": [
{"ID": 32, "Text": "Elektrizitätsprodukt"},
{"ID": 33, "Text": "Zubehöreinführung"}}]
}]}]
Die angegebene Menü -ID ist jetzt 32 und Sie müssen den entsprechenden Element finden und den entsprechenden Menünamen zurückgeben. Name. von JavaScript und platzieren Sie die Methode, um Kinder in einer anonymen Methode zu durchqueren, sodass Sie sich in der anonymen Methode wiederholen können, wenn eine ID mit demselben Namen auftritt, die Schleife herausspringt und dann den erhaltenen Menünamen aus dem Menünamen zurückgibt Die Hauptmethode.
Kopieren Sie den Code wie folgt: Funktion getMenuname (Menüs, ID) {
var name = "";
für (var i = 0; i <mseus.length; i ++) {
if (Menüs [i] .id == id) {
Name = Menüs [i] .Text;
brechen;
}
anders {
(function () {
var M = Argumente [0];
var mseuId = argumente [1];
für (var j = 0; j <M.Length; j ++) {
if (m [j] .Id == MenüId) {
name = m [j] .Text;
brechen;
}
sonst wenn m [j] .Children! = null && m [j] .Children.length> 0) {
Argumente.Callee (M [J] .Children, Val); // rekursive anonyme Methode
}
}
}) (Menüs [i] .Children, id);
}
}
Rückgabename;
}