0

JSONを使用してデータベースから一部のユーザーを収集します。ユーザーに関するすべての情報を含む配列が必要です。

ただし、アプリケーションの残りの部分では、ユーザーの名前を文字列として持つ配列があれば十分です。

db_users完全なユーザー情報を含む配列です。usersプレネームのみが含まれます。

var db_users = [];
var users = [];
var counter = 0;
$.ajax({
    url: myUrl,
    dataType: 'json',
    async: false,
    success: function(data) {
        $.each(data, function(i, user) {
            db_users.push({
                workerid: user.workerid,
                prename: user.prename,
                lastname: user.lastname,
                avatar: user.avatar,
                lineup: user.lineup,
                languages: user.languages,
                partnerid: user.partnerid,
                code: user.code,
                partnerName: user.partnerName,
                street: user.street,
                zip: user.zipCode,
                city: user.city,
                email: user.email,
                phone: user.phone,
                slogan: user.slogan
            });

            users[counter] = user.prename;
            counter++;
        });
    }
});

私が使用db_usersするのと同じ方法を使用するには、何をする必要がありますusersか?[db_users prename];文字列としてプレネームのみを含む配列を作成するようなものはあり ますか?

これは、後で使用する方法です。

//users: ['Laura', 'Sarah', 'Alice'],
users: users,
4

2 に答える 2

1

.mapを使用して、配列を別の配列に変換できます。ただし、質問での方法の方が実際には優れていると思います。呼び出し.mapには、配列全体を再度反復処理することが含まれます。最初に配列を反復処理してキャッシュしたままにするときにビルドする方がはるかに優れています。

プロパティにアクセスするだけならprename、@Wolf に答えがあります。

于 2013-01-09T16:50:50.607 に答える
0

このために別の配列を作成する必要はありません。次のコードを使用する必要があります

db_users[index].prename; // This will give you the name

index は配列内のインデックスです....

于 2013-01-09T16:50:43.307 に答える