我有一个数组,看起来像:[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]
。
我该怎么做?
问题是,您的变量存储的值,原来的100(inc),它的新值从来没有设置。这行inc+100将取inc,add,100的值,然后忘记它,因为它没有存储。您应该做的是使用+=更新现有值。