簡體   English   中英

如何在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;

這是一個例子:

http://jsfiddle.net/aVBx8/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM