在javascript中向对象数组添加数组

在javascript中向对象数组添加数组,javascript,node.js,Javascript,Node.js,我有两个变量,一个是数组,另一个是对象数组,我想把第一个变量距离的值加到第二个变量列表中 下面的方法很好,但是我想知道是否有其他方法可以得到一些结果 让距离=[100200300] let list=[{城市:巴黎},{城市:伦敦},{城市:巴塞罗那}] forlet i=0;i{ 返回Object.assign{},el,{distance:distance[i++]} 返回el }; console.loglistDistance } //输出[{城市:巴黎,距离:100},{城市:伦敦,

我有两个变量,一个是数组,另一个是对象数组,我想把第一个变量距离的值加到第二个变量列表中

下面的方法很好,但是我想知道是否有其他方法可以得到一些结果

让距离=[100200300] let list=[{城市:巴黎},{城市:伦敦},{城市:巴塞罗那}] forlet i=0;i{ 返回Object.assign{},el,{distance:distance[i++]} 返回el }; console.loglistDistance } //输出[{城市:巴黎,距离:100},{城市:伦敦,距离:200},{城市:巴塞罗那,距离:300}]试试这个

for(let i = 0; i < distance.length; i++)
{
   list[i].distance = distance[i];
}
试试这个

for(let i = 0; i < distance.length; i++)
{
   list[i].distance = distance[i];
}
试试这个:

设数组1=[100200300] let array2=[{城市:巴黎},{城市:伦敦},{城市:巴塞罗那}] 让res=array2.mapvalue,索引=>{ 返回{…值,距离:array1[index]} } console.logres 试试这个:

设数组1=[100200300] let array2=[{城市:巴黎},{城市:伦敦},{城市:巴塞罗那}] 让res=array2.mapvalue,索引=>{ 返回{…值,距离:array1[index]} } console.logres 像这样

让距离=[100200300] let list=[{城市:巴黎},{城市:伦敦},{城市:巴塞罗那}] list.forEachcity,i=>city.distance=距离[i] 控制台。日志列表像这样吗

让距离=[100200300] let list=[{城市:巴黎},{城市:伦敦},{城市:巴塞罗那}] list.forEachcity,i=>city.distance=距离[i] console.loglistcont listwithdistance=list.map 项,索引=>{…项,距离:距离[索引]} 这与返回新对象的新数组的示例的结果相同。

const listwithdistance=list.map 项,索引=>{…项,距离:距离[索引]}
这与返回新对象的新数组的示例的结果相同。

不需要循环。只需使用map的callback中的第二个参数索引,我将投票结束这个问题,因为这是一个关于如何改进代码的问题。因此,这里更合适:。请确保您了解JSI的同步/异步行为,并将其作为一个片段。你的代码不起作用。您有一个for循环和一个map,并且您有一个未知对象的console.log。不管怎样,您现在有几个答案:您不需要循环。只需使用map的callback中的第二个参数索引,我将投票结束这个问题,因为这是一个关于如何改进代码的问题。因此,这里更合适:。请确保您了解JSI的同步/异步行为,并将其作为一个片段。你的代码不起作用。您有一个for循环和一个map,并且您有一个未知对象的console.log。不管怎么说,你现在有几个答案:@mplungjan well可以用两种方法来做,所以我宁愿创建新的数组,而不是修改现有的数组。=>IE中不支持箭头函数,所以编码器必须处理好它。@mplungjan well可以用两种方法来做,因此,我更喜欢创建新阵列,而不是修改现有阵列。=>IE中不支持箭头函数。同样,也有一些替代方法,因此编码人员必须注意。我喜欢你的第二种方法:我喜欢你的第二种方法: