javascript - 如何将更改应用到 JavaScript 数组中的数据对象?

标签 javascript arrays object-literal

如果我有以下内容:

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);

我添加了一个 fiddle 来打印结果:http://jsfiddle.net/4UH9e/

关于javascript - 如何将更改应用到 JavaScript 数组中的数据对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17534632/

相关文章:

javascript - 如何更改Laravel + Vue.js的动态baseUrl?

javascript - 将 PHP 变量传递给 Javascript 函数

c++ - 在 C++ 中按文件填充数组或结构

arrays - 如何使用 Swift 递增地轮换数组?

arrays - 斐波那契字符串数组

javascript - 可以将一个对象字面量内的多个属性设置为相同的值吗?

javascript - 在对象字面量中使用 jquery.when

javascript - 鼠标悬停在 jquery 上更改图片时的延迟

javascript - 为什么大多数 javascript 框架都使用对象字面量

javascript - 从 .then 函数分配到更高级别的作用域变量是否存在任何陷阱