オブジェクトの配列を検索する際に問題が発生しています。基本的に私のページで必要となるのは、氏名、ユーザー名、電子メール、パスワードなど、私が入力した情報を使って新しい「クライアント」を作成することです。これらのクライアントのそれぞれは、以下に示すように、配列内のオブジェクトです。配列内のオブジェクトの問題Javascript
var clientlist = [{"username":"John","fullname":"John Doe",
"email":"[email protected]","type":"client","password":"jdoe2"},
このクライアントは既にjsファイル内に作成されています。この同じ構造でこのアレイに追加する新しいオブジェクトを作成する必要があります。例えば、
var clientlist = [{"username":"Peter","fullname":"Peter Jones",
"email":"[email protected]","type":"client","password":"pjones1"},
私は、コードを書かれているが、それは私がFirebugのを実行したときに、私はすべての要素が「値が」ユーザー名を除き、正しく追加されていることを確認することができ、正常に動作しません。私が追加しているユーザー名が既に存在するかどうかを確認するためにユーザー名を検索することができない場合は、構文ミスかもしれません。私は以下の完全なコードを残し、支援のために事前に感謝します!
var clientlist = [{"username":"John","fullname":"John Doe",
"email":"[email protected]","type":"client","password":"jdoe2"},
var Client = {};
function NewClient(){
var found;
var user = $("#username").val();
for (var i = 0; i < clientlist.length; i++) {
if (clientlist[i].username == user) {
found = true;
}else{
found = false;
}
}
if (found == true){
$("#msj").html("User already exists!");
}
else if(found == false){
Client["fullname"] = $("#fullname").val();
Client["username"] = user;
Client["email"] = $("#email").val();
Client["type"] = "client";
Client["password"] = $("#password").val();
clientlist[clientlist.length] = Client;
$("#msj").html("New client has been created");
}
}
を。 'var" clientlist = [{"username": "John"、 "fullname": "John Doe"、 "email": "[email protected]"、 "type": "client"、 "password": "jdoe2"}] ' –
あなたは私が昨日あなたに与えた解決策からループ内で' break'を使うことを無視しました。あるいは、 'found = false'を設定して' else'を削除してください。 – charlietfl
'var Client = {};'は 'NewClient()'関数内にある必要があります。 – nnnnnn