vam*_*afa 1 javascript node.js
我正在编写一个 javascript 程序,它需要在键/值对中存储数字数组的原始值和加倍的值。我是 javascript 初学者。这是程序:
var Num=[2,10,30,50,100];
var obj = {};
function my_arr(N)
{
original_num = N
return original_num;
}
function doubling(N_doubled)
{
doubled_number = my_arr(N_doubled);
return doubled_number * 2;
}
for(var i=0; i< Num.length; i++)
{
var original_value = my_arr(Num[i]);
console.log(original_value);
var doubled_value = doubling(Num[i]);
obj = {original_value : doubled_value};
console.log(obj);
}
Run Code Online (Sandbox Code Playgroud)
该程序在一个函数中读取数组的内容,然后在另一个函数中将值加倍。
我的程序产生以下输出:
2
{ original_value: 4 }
10
{ original_value: 20 }
30
{ original_value: 60 }
50
{ original_value: 100 }
100
{ original_value: 200 }
Run Code Online (Sandbox Code Playgroud)
我正在寻找的输出是这样的:
{2:4, 10:20,30:60,50:100, 100:200}
Run Code Online (Sandbox Code Playgroud)
我在做什么错误?
谢谢。
你的目标是obj用新的属性丰富地图以获得{2:4, 10:20,30:60,50:100, 100:200}. 但不是这样做,而是obj用只有一个属性的对象替换变量的值。
改变
obj = {original_value : doubled_value};
Run Code Online (Sandbox Code Playgroud)
到
obj[original_value] = doubled_value;
Run Code Online (Sandbox Code Playgroud)
然后,在循环结束时,只需记录
console.log(obj);
Run Code Online (Sandbox Code Playgroud)
这是完整的循环代码:
for(var i=0; i< Num.length; i++) {
var original_value = my_arr(Num[i]);
var doubled_value = doubling(original_value);
obj[original_value] = doubled_value;
}
console.log(obj);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13014 次 |
| 最近记录: |