Javascript 在具有相同属性的元素上保存值

Javascript 在具有相同属性的元素上保存值,javascript,Javascript,我有一个由多个条目组成的数组,其中一些条目具有相同的名称。所有条目都有位置,但有一个为空。我想将相同的位置值保存到同一用户的数组的所有条目中。我该怎么做 array=[{ user: angelos, user_id: 121212, date: 12/12/12, profile_img: cfdf,

我有一个由多个条目组成的数组,其中一些条目具有相同的名称。所有条目都有位置,但有一个为空。我想将相同的位置值保存到同一用户的数组的所有条目中。我该怎么做

      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:""
                }];

首先,对于每个用户,存储其非空位置。然后,在第二步中,只需根据存储的
user->location
map设置空位置

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];
  }
}
var-userLocationMap={};
对于(var i=0;i
您知道第一个用户是否总是有位置吗?用户实例是否可能在数组中具有不同的位置?是,第一个用户始终具有位置。是,用户彼此具有不同的位置