4

如何更新数组(键,值)对象?

arrTotals[
{DistroTotal: "0.00"},
{coupons: 12},
{invoiceAmount: "14.96"}
]

我想将“DistroTotal”更新为一个值。

我试过了

    for (var key in arrTotals) {
        if (arrTotals[key] == 'DistroTotal') {
            arrTotals.splice(key, 2.00);
        }
    }

谢谢 ..

4

2 回答 2

10

因为听起来您正在尝试使用键/值字典。考虑在这里切换到使用对象而不是数组。

arrTotals = { 
    DistroTotal: 0.00,
    coupons: 12,
    invoiceAmount: "14.96"
};

arrTotals["DistroTotal"] = 2.00;
于 2013-02-12T00:25:09.330 回答
6

您缺少嵌套级别:

for (var key in arrTotals[0]) {

如果您只需要使用那个特定的,那么只需执行以下操作:

arrTotals[0].DistroTotal = '2.00';

如果您不知道带有DistroTotal密钥的对象在哪里,或者其中有很多,那么您的循环有点不同:

for (var x = 0; x < arrTotals.length; x++) {
    if (arrTotals[x].hasOwnProperty('DistroTotal') {
        arrTotals[x].DistroTotal = '2.00';
    }
}
于 2013-02-12T00:19:21.453 回答