gpt4 book ai didi

javascript - 从给定的变量创建一个集合。如何获取对象的键值与给定变量的名称相对应?

转载 作者:行者123 更新时间:2023-11-28 08:24:23 26 4
gpt4 key购买 nike

我正在尝试测试一组给定的变量。为了组织该集合,我将变量添加为对象的键。

我认为我走在正确的轨道上,根据变量名称动态添加 key 。如何确保每个键的值与原始给定数字的值相对应?

示例:

var num1 = 43;
var num2 = 597;
var num3 = 5662682;

我希望我的对象基本上是这样的:

{num1: 43, num2: 597, num3: 5662682}

我已经尝试过:

function makeObj () {
var obj = {};
for (var i = 1; i <= 3; i++) {
obj["num" + i] = "num" + i;
}
return obj;
}

但显然,没有引用该变量。它存储了一个无用的字符串。

{ num1: 'num1', num2: 'num2', num3: 'num3' }

如何将所述变量(num1、num2、num3)的值作为我的对象内部同名键的值?

我还应该补充一点,我希望使用标准 Javascript 和/或原型(prototype)来做到这一点。没有图书馆或类似的东西。

最佳答案

您可以使用评估。

http://jsfiddle.net/afrievalt/w7fm3/

var num1 = 43;
var num2 = 597;
var num3 = 5663683;

function makeObj () {
var obj = {};
for (var i = 1; i <= 3; i++) {
obj["num" + i] = eval("num" + i);
}
return obj;
}

请不要告诉 Crockford 先生我使用了 eval。 http://javascriptweblog.wordpress.com/2010/04/19/how-evil-is-eval/

@sabof 和我喜欢使用数组:

var nums = [];
nums.push(43);
nums.push(597);
nums.push(5663683);

function makeObj () {
var obj = {};
for (var i = 0; i <= nums.length; i++) {
obj["num" + (i+1)] = nums[i];
}
return obj;
}

关于javascript - 从给定的变量创建一个集合。如何获取对象的键值与给定变量的名称相对应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22597596/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com