2017-06-02 3 views
0

Mein Code implementieren:Wie man eine Karte für Array von Strings in JavaScript

var appsAndScopes=[ 
['1',['A','B','C','D']], 
['2 ',['E','F','G','H']], 
['3',['I']], 
['4',['J']] 
]; 
function getAllElements(id){return document.getElementById(id);} 
    function buildDropdowns(){ 
    var applications=getAllElements('application').options; //Gets all applications names from appsAndScopes array. 
    for(var applicationsIndex=0;applicationsIndex<appsAndScopes.length;applicationsIndex++){ 
     applications[applications.length]=new Option(appsAndScopes[applicationsIndex][0],appsAndScopes[applicationsIndex][0]); 
    } 

    getAllElements('application').onchange=function(){ 
     this.blur(); 
     var currentApplication=this.value; 
     if(!currentApplication){return;} 
     var scopes=getAllElements('scope').options; 
     scopes.length=1; 
     for(var scopesIndex=0;scopesIndex<appsAndScopes.length;scopesIndex++){ 
     if(appsAndScopes[scopesIndex][0]!==currentApplication){continue;} 
     else{ 
      var temp=appsAndScopes[scopesIndex][1]; 
      for(var valueIndex=0;valueIndex<temp.length;valueIndex++){ 
      scopes[scopes.length]=new Option(temp[valueIndex],temp[valueIndex]); 
      } 
      break; 
     } 
     } 
    } 
    } 
    $(function() { 
     buildDropdowns(); 
    }); 

In diesem Code Ich erzeuge dynamischer Drop-downs (das heißt abhängiger Abfall downs). Dieser Code funktioniert einwandfrei. Es verwendet 2d-Array, um die Werte von Dropdowns zu füllen. Ich möchte eine Karte anstelle von 2D-Array implementieren. Das wird den ganzen Prozess des Iterierens auch verändern.

Ich bin sehr neu zu Javascript. Ich kenne keine Syntax für Javascript. Bitte hilf mir dabei.

+0

Sie scheinen keine Lösungen zu akzeptieren. Sie erhalten auch Repo-Punkte, wenn Sie die Lösungen akzeptieren. Wenn du die Lösungen nicht akzeptierst, würde das die Leute nicht ermutigen, dir zu helfen! –

Antwort

0

erklären Karte Objekt

var map = new Map(); // or var map = {}; 

ein neues Objekt

map.set(key, value); 

in Ihrem Fall das Einfügen Sie wie map.set(1,['a','b','c','d']); Abrufen eines Artikel

map.get(key); // will return value 

für weitere Anwendungen verwenden können, sehen dies

Verwandte Themen