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

Javascript 多维数组中第一个元素的增量,javascript,jquery,arrays,object,ecmascript-6,Javascript,Jquery,Arrays,Object,Ecmascript 6,我有一个数组,看起来像:[x,y]。而y将始终保持不变。我希望每次迭代x都增加100 这就是我所做的: 让arr=[ { “名称”:“馅饼”, “数据”:[ [ “美国”, 149045 ], [ “es”, 41746 ], [ “英国”, 37640 ], [ “au”, 16594 ] ], }, { “名称”:“蛋糕”, “数据”:[ [ “美国”, 128845 ], [ “es”, 35752 ], [ “英国”, 32246 ], [ “au”, 14333 ] ], } ];

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

这就是我所做的:

让arr=[
{
“名称”:“馅饼”,
“数据”:[
[
“美国”,
149045
],
[
“es”,
41746
],
[
“英国”,
37640
],
[
“au”,
16594
]
],
},
{
“名称”:“蛋糕”,
“数据”:[
[
“美国”,
128845
],
[
“es”,
35752
],
[
“英国”,
32246
],
[
“au”,
14333
]
],
}
];
设inc=100;
arr.forEach(d=>{
d['m_arr']=[inc,125];
inc+100;
});
控制台日志(arr)

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

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

我相信这是您试图实现的简化版本。与其设置
inc
变量(如果您计划重新使用该函数,以后可能需要重置该变量),只需使用
forEach
方法中包含的迭代器参数(第二个参数)。通过向该值添加1,然后乘以100,您应该始终具有所需的值。这就是它的作用:

让arr=[
{
名称:“馅饼”,
数据:[
[“美国”,149045],
[“es”,41746],
[“英国”,37640],
[“非盟”,16594]
],
}, {
名称:“蛋糕”,
数据:[
[“美国”,128845],
[“es”,35752],
[“英国”,32246],
[“非盟”,14333]
],
}
];
arr.forEach((d,i)=>d.m_arr=[(i+1)*100125]);
console.log(arr);//返回下面的↓↓↓
[
{
名称:“馅饼”,
数据:[
[“美国”,149045],
[“es”,41746],
[“英国”,37640],
[“非盟”,16594]
],
m_arr:[100125]
}, {
名称:“蛋糕”,
数据:[
[“美国”,128845],
[“es”,35752],
[“英国”,32246],
[“非盟”,14333]
],
m_arr:[200125]
}
];

我相信这是您试图实现的目标的简化版本。与其设置
inc
变量(如果您计划重新使用该函数,以后可能需要重置该变量),只需使用
forEach
方法中包含的迭代器参数(第二个参数)。通过向该值添加1,然后乘以100,您应该始终具有所需的值。这就是它的作用:

让arr=[
{
名称:“馅饼”,
数据:[
[“美国”,149045],
[“es”,41746],
[“英国”,37640],
[“非盟”,16594]
],
}, {
名称:“蛋糕”,
数据:[
[“美国”,128845],
[“es”,35752],
[“英国”,32246],
[“非盟”,14333]
],
}
];
arr.forEach((d,i)=>d.m_arr=[(i+1)*100125]);
console.log(arr);//返回下面的↓↓↓
[
{
名称:“馅饼”,
数据:[
[“美国”,149045],
[“es”,41746],
[“英国”,37640],
[“非盟”,16594]
],
m_arr:[100125]
}, {
名称:“蛋糕”,
数据:[
[“美国”,128845],
[“es”,35752],
[“英国”,32246],
[“非盟”,14333]
],
m_arr:[200125]
}
];

打字错误
inc+100
=>
inc+=100
为什么不使用
.map
而不是
.forEach
?@KooiInc就是这样!谢谢你的关注!我没有看到任何x或yhere@KaiLehmann,我使用x和y作为数组格式输入的示例
inc+100
=>
inc+=100
为什么不使用
.map
而不是
.forEach
?@KooiInc就是这样!谢谢你的关注!我没有看到任何x或yhere@KaiLehmann,我使用x和y作为数组格式的示例