2017-01-31 11 views
0

多くの理由から私がサーバー上でホストできないオブジェクトの配列から特定のデータを取得しようとしていました。データは、文書内の変数として格納されます。今私はちょうど「ユーザー」の配列からいくつか/任意のデータを抽出しようとしてきたため文書内のオブジェクトの配列からデータを表示

<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> 

が、私は持っていたいと思い今後:これは私がいない成功にこれまでにしようとしてきたものですユーザが単語を検索し、「ユーザ」内の単語/単語に関連するデータの「線」/「線」全体が結果として表示される。私はこれを達成するためにどのような方法を使うべきですか?

+0

質問不明確である、あなたはusers'配列 'で検索したいのですか?アレクサンドル・lonutミハイ@適切 –

答えて

2

あなたのコード内のいくつかのミスを持っています。まず、find関数は、引数として受け入れる関数callbackを受け取ります。

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

あなたはinnerHTMLに関数を渡す場合、あなたはそれを呼び出すようにしなければならず、このように:

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

と機能result要素のHTMLコンテンツ(インナーHTML)を設定するためにvalueを返す必要があります。

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

説明してくださいありがとう!私はコードにいくつかの問題を抱えています。 Dreamweaverでは、この行にエラーがあります: 'var simpson = users.find(a => a.last_name ==" Simpson "); ' – gezer4000

+0

あなたはどんなエラーが発生しますか? –

+0

構文エラーです。私はそれより深く分析する方法がわかりません。 – gezer4000

2

1. 機能をfindメソッドに渡す必要があります。 findメソッドは、配列内の要素を検索し、要素が見つかるとその要素を返します。それ以外の場合はundefinedが返されます。検索条件は、コールバック関数によって定義されます。

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

2.ような何かはあなたではなく、見つからユーザー名などの情報を意味のあるを指すことがより適切であろう、機能であるためにあなたのinnerHTMLプロパティを必要としない場合があります。

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

次のコードを試してみてください。

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>