Javascript 如何在地图中添加对象属性
我试图在映射循环中添加属性 但我似乎是在一个副本上更新的,而不是对象本身Javascript 如何在地图中添加对象属性,javascript,jquery,Javascript,Jquery,我试图在映射循环中添加属性 但我似乎是在一个副本上更新的,而不是对象本身 MY_ARRAY.map(function(d){ d.size = DO_SEOMTHING }); 使用而不是使用.map,map基本上将一个数组转换为另一个数组 $.each(MY_ARRAY,function(i,d){ d.size = DO_SEOMTHING }); 您必须重新分配MY_数组 MY_ARRAY = MY_ARRAY.map(function(d){ d.size = [some
MY_ARRAY.map(function(d){
d.size = DO_SEOMTHING
});
使用而不是使用.map
,map
基本上将一个数组转换为另一个数组
$.each(MY_ARRAY,function(i,d){
d.size = DO_SEOMTHING
});
您必须重新分配
MY_数组
MY_ARRAY = MY_ARRAY.map(function(d){
d.size = [somevalue];
return d; // as per comment
});
直接重写数组的另一种方法是使用数组本身作为初始值(有关此方法的更多信息,请参阅MDN链接):
发件人:
map()方法使用调用
在此数组中的每个元素上提供函数
同时发布数组内容。非法使用
.map()
。。!Map的回调应该返回一个值,以基于当前数组创建一个新数组。对于第二种变体,它不是必需的。
MY_ARRAY.map(function(d, i){
this[i].d.size = [somevalue];
}, MY_ARRAY);