将现有var添加到JavaScript中的新对象并循环遍历它们

时间:2016-02-06 08:13:30

标签: javascript loops

我找到了很多关于如何向现有对象添加变量的指南,但没有如何将“现有”变量添加到现有对象

我有一个包含已在我的脚本中定义的变量的完整列表。例如:a,b,c,d。 他们都有自己的价值观。 现在我想在所有这些变量上调用一个函数,然后在控制台中显示变量名和结果。 因此,我想创建一个对象来循环。我该怎么做?

这是我的工作流程: 值在脚本中的各个位置创建:

a = 1.333;
b = 1.64252345;
c = 2.980988;

我创建了对象并尝试添加已存在的变量(这是我失败的地方):

var abc = {};
abc.a;
abc.b;
abc.c;

我想循环遍历该对象,为所有数字铺设地板,并使用返回的数字打印变量名称:

var i;
for (i = 0; i < abc.length; ++i) {
    var variablename = Object.keys(abc[i]);
    var flooredvalue = floor(abc[i]);
    var abc[i] = flooredvalue; // Save the floored value back to the variable.
    console.log(variablename+": "+flooredvalue);
}

我在console.log中的所需输出:

a = 1
b = 1
c = 2

1 个答案:

答案 0 :(得分:2)

循环遍历对象keys数组将是一个好主意。

&#13;
&#13;
a = 1.333;
b = 1.64252345;
c = 2.980988;

var abc = {};
abc.a = a;
abc.b = b;
abc.c = c;

var i;
var keys = Object.keys(abc);
console.log(abc['a'])
for (i = 0; i < keys.length; i++) {
    var key = keys[i];
    var flooredvalue = Math.floor( abc[key] );
    abc[key] = flooredvalue;
    window[key] = flooredvalue; //global variable change.
}
console.log(a);
console.log(b);
console.log(c);
&#13;
&#13;
&#13;