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