2017-01-31 4 views
0

Ich habe versucht, bestimmte Daten aus einem Array von Objekten zu entnehmen, die ich aus vielen Gründen nicht auf einem Server hosten kann. Die Daten werden als Variable im Dokument gespeichert. Dies ist, was ich habe bisher ohne Erfolg versucht:Anzeigen von Daten aus einem Array von Objekten in Dokument

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 

<script type="text/javascript">  
     var users = [{"username":"nphillips7m","first_name":"Nicole","last_name":"Phillips","email":"[email protected]","gender":"Female","sexuality":"Networked static concept","language":"Gagauz"}, 
{"username":"esimpson7n","first_name":"Elizabeth","last_name":"Simpson","gender":"Female","sexuality":"Future-proofed solution-oriented definition","language":"Malay"}, 
{"username":"llawrence7o","first_name":"Lillian","last_name":"Lawrence","email":"[email protected]","gender":"Female","sexuality":"Re-contextualized demand-driven middleware","language":"Tetum"}] 

     var simpson = users.find("last_name" + "Simpson") 

     document.getElementById("return").innerHTML = function myfunction() { 
      simpson; 
     } 
</script> 

</head> 

<body> 
<div id="return"></div> 
</body> 

Denn jetzt habe ich nur versucht, einige/alle Daten aus dem ‚Nutzer‘ Array zu extrahieren, aber für die Zukunft würde ich gerne der Benutzer sucht nach einem Wort und die gesamte 'Zeile'/'Zeilen' der Daten, die sich auf das Wort/die Wörter in 'Benutzer' beziehen, werden als Ergebnisse angezeigt. Welche Methoden sollte ich verwenden, um dies zu erreichen?

+0

Frage unklar ist, sind Sie in 'Benutzer' Array suchen? Bitte beschreiben Sie richtig –

Antwort

2

Sie haben einige Fehler in Ihrem Code. Zunächst einmal find Funktion als Argument akzeptieren eine callback Funktion.

var simpson = users.find(a=>a.last_name=="Simpson"); 

Wenn Sie Funktion innerHTML passieren, müssen Sie es aufzurufen, wie folgt aus:

document.getElementById("return").innerHTML = (function myFunction(){ 
    return JSON.stringify(simpson); 
})(); 

und Funktion muss einen value zurückkehren, um den HTML-Inhalt (innere HTML) von result Element festlegen .

var users = [{"username":"nphillips7m","first_name":"Nicole","last_name":"Phillips","email":"[email protected]","gender":"Female","sexuality":"Networked static concept","language":"Gagauz"}, 
 
{"username":"esimpson7n","first_name":"Elizabeth","last_name":"Simpson","gender":"Female","sexuality":"Future-proofed solution-oriented definition","language":"Malay"}, 
 
{"username":"llawrence7o","first_name":"Lillian","last_name":"Lawrence","email":"[email protected]","gender":"Female","sexuality":"Re-contextualized demand-driven middleware","language":"Tetum"}] 
 

 
var simpson = users.find(callback); 
 
function callback(item){ 
 
    return item.last_name=="Simpson"; 
 
} 
 
document.getElementById("return").innerHTML = (function myFunction(){ 
 
    return JSON.stringify(simpson); 
 
})();
<body> 
 
<div id="return"></div> 
 
</body>

+0

@ Alexandru-lonut Mihai Dank! Ich habe jedoch einige Probleme mit dem Code. Dreamweaver sagt, dass in dieser Zeile ein Fehler aufgetreten ist: 'var simpson = users.find (a => a.last_name ==" Simpson ");' – gezer4000

+0

Welchen Fehler erhalten Sie? –

+0

Syntaxfehler. Ich bin mir nicht sicher, wie ich tiefer analysieren soll. – gezer4000

2

1. Sie müssen die callback Funktion in find Methode übergeben. Die Methode find sucht nach einem Element in einem Array und gibt das Element zurück, wenn es gefunden wird. Andernfalls wird undefined zurückgegeben. Die Suchkriterien sind durch eine Callback-Funktion definiert. So etwas wie

var simpson = users.find(currentValue => currentValue.last_name === "Simpson");

2. Sie werden vielleicht nicht Ihre innerHTML- erfordern eine Funktion zu sein, stattdessen wäre es sinnvoller sein, dass er zeigt Informationen wie Username meaningfull gefunden.

document.getElementById("return").innerHTML = simpson.username;

Versuchen Sie, den folgenden Code ein.

var users = [{"username":"nphillips7m","first_name":"Nicole","last_name":"Phillips","email":"[email protected]","gender":"Female","sexuality":"Networked static concept","language":"Gagauz"}, 
 
{"username":"esimpson7n","first_name":"Elizabeth","last_name":"Simpson","gender":"Female","sexuality":"Future-proofed solution-oriented definition","language":"Malay"}, 
 
{"username":"llawrence7o","first_name":"Lillian","last_name":"Lawrence","email":"[email protected]","gender":"Female","sexuality":"Re-contextualized demand-driven middleware","language":"Tetum"}] 
 

 
     var simpson = users.find(currentValue => currentValue.last_name === "Simpson"); 
 

 
     document.getElementById("return").innerHTML = simpson.username;
<head> 
 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
 
<title>Untitled Document</title> 
 

 
<script type="text/javascript">  
 
     
 
</script> 
 

 
</head> 
 

 
<body> 
 
<div id="return"></div> 
 
</body>

Verwandte Themen