提问者:小点点

多维数组中第一个元素的增量


我有一个数组,看起来像:[x,y]。而y将始终保持常数。我希望x每迭代增加100。

我就是这么做的:

null

let arr = [
    {
        "name": "pies",
        "data": [
            [
                "us",
                149045
            ],
            [
                "es",
                41746
            ],
            [
                "uk",
                37640
            ],
            [
                "au",
                16594
            ]
        ],
    },
    {
        "name": "cakes",
        "data": [
            [
                "us",
                128845
            ],
            [
                "es",
                35752
            ],
            [
                "uk",
                32246
            ],
            [
                "au",
                14333
            ]
        ],
    }
];

let inc = 100;
arr.forEach(d=> {
    d['m_arr'] = [inc, 125];
    inc +100;
});

console.log(arr);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

null

正如您所看到的,它不是在增加值。它总是只是插入[100,125]。在第一个名为pies的对象中,我希望m_arr:[100,125]和下一个名为cakes的对象为[200,125]

我该怎么做?


共1个答案

匿名用户

问题是,您的变量存储的值,原来的100(inc),它的新值从来没有设置。这行inc+100将取inc,add,100的值,然后忘记它,因为它没有存储。您应该做的是使用+=更新现有值。