[英]How do you add new or update existing object properties using lodash only or plain javascript?
[英]How do you update the properties of an object in javascript?
如何在javascript中更新对象的属性?
我将68917距离的“ id”从8.8更新为4.5 ...我可以访问lodash.js
[
{
"_id":68917,
"Distance":8.81,
"Lat":"42.65322175",
"Lon":"-73.77398886"
},
{
"_id":131277,
"Distance":"9.86",
"Lat":"42.654658",
"Lon":"-73.805866"
},
{
"_id":62450,
"Distance":6.58,
"Lat":"42.67457566",
"Lon":"-73.74902171"
}]
your_object[0].Distance = 4.5;
如果您事先不知道索引:
_.findWhere(your_object, {'_id': 68917}).Distance = 4.5;
您提供的代码提供了一个数组。 如果这代表您的代码,则可以使用for循环遍历数组中的对象:
如果将提供的代码分配给名为array的变量,则可以使用此代码遍历数组中的项目。
完成此操作后,您就可以使用点运算符访问内部对象的属性,查找并更新正确的项目。
function echo (text){
document.getElementById("output").innerHTML += text + "<br/>"
}
var array = [
{
"_id":68917,
"Distance":8.81,
"Lat":"42.65322175",
"Lon":"-73.77398886"
},
{
"_id":131277,
"Distance":"9.86",
"Lat":"42.654658",
"Lon":"-73.805866"
},
{
"_id":62450,
"Distance":6.58,
"Lat":"42.67457566",
"Lon":"-73.74902171"
}];
echo("First item's distance " + array[0].Distance);
for(var i = 0; i < array.length; i++){
if(array[i]._id === 68917){
echo("Found item "+array[i]._id);
array[i].Distance = 4.45;
}
}
echo("First item's distance " + array[0].Distance);
我创建了一个JS小提琴来演示此解决方案的工作。 http://jsfiddle.net/gB5Nn/2/
您可以使用内置的“过滤器”功能来获取所需的项目。
someObject.filter(function(item){return item._id === 68917;})[0].Distance = 4.5;
这是一个例子:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.