我有几个条目的数组,其中一些条目具有相同的名称。所有条目都有位置但是一个是空的。我想将相同的位置值保存到同一用户的数组的所有条目中。我怎么能这样做?
array=[{
user: angelos,
user_id: 121212,
date: 12/12/12,
profile_img: cfdf,
text: nhkjhgjtdkghd,
url: g.htm,
location:Romania
},{
user: angelos,
user_id: 121212,
date: 12/12/12,
profile_img: cfdf,
text: nhkjhgjsdfsadstdkghd,
url: g.htm,
location:""
},{
user: Mike,
user_id: 121212,
date: 12/12/12,
profile_img: cfdf,
text: nhkjhgjtdkghd,
url: g.htm,
location:New York
},{
user: Mike,
user_id: 121212,
date: 12/12/12,
profile_img: cfdf,
text: nhkjhgjsdfsadstdkghd,
url: g.htm,
location:""
}];
答案 0 :(得分:1)
首先,为每个用户存储其非空位置。然后,在第二遍中,只需根据存储的user -> location
地图设置空位置。
var userLocationMap = {};
for (var i = 0; i < array.length; i++) {
if (array[i].location) {
userLocationMap[array[i].user] = array[i].location;
}
}
for (var i = 0; i < array.length; i++) {
if (!array[i].location) {
array[i].location = userLocationMap[array[i].user];
}
}