我使用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,
答案 0 :(得分:1)
您可以使用.map将数组转换为另一个数组。但是,我认为你在问题中的方式实际上更好。调用.map
将涉及再次遍历整个数组。当你第一次遍历数组并保持缓存时,建立它会好得多。
如果您只想访问prename
属性,那么@Wolf会有您的答案。
答案 1 :(得分:0)
您不必为此创建单独的数组。您必须使用以下代码
db_users[index].prename; // This will give you the name
index是数组中的索引....