小编Blu*_*ill的帖子

For循环仅显示数组的最后一个值

所以我有一个名为"options"的对象,其中包含以下内容:

var options = {
  assignments: ['involved', 'assignee', 'candidate'],
  assignment: ""
}
Run Code Online (Sandbox Code Playgroud)

使用for循环,我试图将我的数组赋值中的值逐个放入赋值var中.然后我使用"选项"将新值作为我在循环中调用的另一个函数的参数.

for (var i = 0; i < options.data.assignments.length; i++) {
  options.data.assignment = options.data.assignments[i];
  console.log("value of i : ",i);
  console.log("value of options :",options);
  otherFunction(options);
}
Run Code Online (Sandbox Code Playgroud)

我期待看到这样的结果:

i的值:0

期权价值:{assignment ="涉及"......}

i的值:1

期权价值:{assignment ="受让人"......}

i的值:2

期权价值:{assignment ="candidate"...}

但相反,我有这样的事情:

i的值:0

期权价值:{assignment ="candidate"...}

i的值:1

期权价值:{assignment ="candidate"...}

i的值:2

期权价值:{assignment ="candidate"...}

事情是这样做,我的赋值变量总是设置为"候选",我的数组末尾的值.

奇怪的是,当我尝试时console.log(options.data.assignments[i]),正确的值出现了.对于"i"来说,它从0到1再到2然后正确停止.所以我的循环工作得非常好,除非我想设置变量的值.

有什么想法这里的问题是什么?

谢谢

javascript arrays for-loop

0
推荐指数
1
解决办法
1044
查看次数

标签 统计

arrays ×1

for-loop ×1

javascript ×1