簡體   English   中英

如何將更改應用於JavaScript數組中的數據對象?

[英]How do I apply changes to a data object within a JavaScript array?

如果我有以下內容:

var dataContainer = [
                       { id : 1, value : 5, qty : 73, orders: 7 },
                       { id : 2, value : 6.15, qty : 212, orders: 49},
                       { id : 3, value : 12.11, qty : 29, orders : 6} 
                    ];

如何使用JavaScript更新對象的值? 我一直在嘗試以下方面:

function UpdateValues(passedId) {
    var thisData = {};
    for ( var i = 0; i < dataContainer.length; i++ ) {
      thisData = dataContainer[i];
       if (thisData.id == passedId) {
           // I am updating the values in thisData 
       }
     }
     // Not sure what to do here in order to get thisData values back into dataContainer

 }

於是,我就彈出dataContainer[i] ,並推thisData回但這並沒有工作。 除非我做錯了嗎? 我該怎么辦? 我感謝任何幫助。

function UpdateValues(passedId, prop, newValue) {
    var thisData = {};
    for ( var i = 0; i < dataContainer.length; i++ ) {
        thisData = dataContainer[i];
        if (thisData.id == passedId) {
            thisData[prop] = newValue;
        }
    }
}

//Change qty to 99999 for object with index of 1
UpdateValues(1, "qty", 99999);

我添加了一個小提琴,打印出結果: http//jsfiddle.net/4UH9e/

function UpdateValues(passedId) {
    var thisData = {};
    for ( var i = 0; i < dataContainer.length; i++ ) {
        var data = dataContainer[i];
        for (i in data) {
            thisData[i] = data[i];
        }
        if (thisData.id == passedId) {
           //Update the values in thisData. 
        }
    }
    //You still have the original data in dataContainer
}

暫無
暫無

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

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