我有一个包含listOfFriends
的对象数组[{"name" : "fName lName", "uid" : "0102030405"}], ...
我想缩小此数组的大小,因为我只需要uids
,所以我想只用uids
制作另一个数组
var listOfFriends, listOfFriendsUIDs;
//listOfFriends gets filled
for(var i = 0; i < listOfFriends.length; i++){
listOfFriendsUIDs[i].uid = listOfFriends[i].uid; // this line isn't working
//listOfFriendsUIDs is still undefined untill the start of this loop
}
最佳答案
您可以使用Array.prototype.map
根据ID创建新数组:
var listOfFriendsUIDs = listOfFriends.map(function(obj) { return obj.uid; });
检查浏览器compatibility,并在需要时使用shim。
演示:http://jsfiddle.net/x3UkJ/