将一个大数组缩小到只包含JavaScript中的一个String的数组

时间:2013-01-09 16:37:36

标签: javascript jquery arrays json

我使用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,

2 个答案:

答案 0 :(得分:1)

您可以使用.map将数组转换为另一个数组。但是,我认为你在问题中的方式实际上更好。调用.map将涉及再次遍历整个数组。当你第一次遍历数组并保持缓存时,建立它会好得多。

如果您只想访问prename属性,那么@Wolf会有您的答案。

答案 1 :(得分:0)

您不必为此创建单独的数组。您必须使用以下代码

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

index是数组中的索引....