变量值不变

Value of variable not changing

所以这是我的代码:

  while (n !== -1){
var meta = result[n].meta_data;
var tradeurl = meta[0].value;
var orderid = result[0].id;
var billing = result[0].billing;
var name = billing.first_name +" "+ billing.last_name;
var orderitem = result[0].line_items;
var orderitemid = orderitem[0].id;
console.log("n = " + n);
console.log("Order ID : " + orderid);
console.log("Using tradeurl : " + tradeurl);
console.log("Buyer : " + name);
console.log("Order : " + orderitemid);
n= n-1 ;

}

这是我在控制台中得到的:

Order ID : 2979
Using tradeurl : https://steamcommunity.com/tradeoffer/new/?partner=452464312&token=1m7Sxxxx
Buyer : devang yadav
Order : 1643
n = 2
Order ID : 2979
Using tradeurl : https://steamcommunity.com/tradeoffer/new/?partner=452464312&token=Gq27xxxx
Buyer : devang yadav
Order : 1643
n = 1
Order ID : 2979
Using tradeurl : https://steamcommunity.com/tradeoffer/new/?partner=387415982&token=UVZYxxxx
Buyer : devang yadav
Order : 1643
n = 0
Order ID : 2979
Using tradeurl : https://steamcommunity.com/tradeoffer/new/?partner=410734147&token=WIK-xxxx
Buyer : devang yadav
Order : 1643

所以我正在做的是获取 API 返回的数组的长度,当数组从 0 索引开始时从中减去一个,然后尝试更改 meta = result[n].meta_data; 中的值从而得到新的数据。但由于某种原因它不起作用,n 的值正在改变,如控制台输出所示但由于某种原因新数据不是 pulled.Also 当我发布这个时,我注意到 tradeurl 是更新但其他人不是。我哪里出错了?有什么建议吗?

这里你传递的是 "0" 而不是 n

var orderid = result[0].id;
var billing = result[0].billing;
var orderitem = result[0].line_items;
var orderitemid = orderitem[0].id;

替换为n:

var orderid = result[n].id;
var billing = result[n].billing;
var orderitem = result[n].line_items;
var orderitemid = orderitem[n].id;