gpt4 book ai didi

javascript - 对象的方法可以将要恢复的对象本身的名称存储为 JavaScript 中的字符串吗?

转载 作者:行者123 更新时间:2023-11-28 10:49:59 26 4
gpt4 key购买 nike

如果我有:

x=3;
FirstNames = ["John","Paul","George","Ringo"];
LastNames = ["Smith","Jonson","Jones","Doe"];
SemiRandomNumbers= [3,6,7,4,2,1,0,9];

我可以设置: ArrayToUse = 名字; 警报(ArrayToUse [x]);//> “林戈”

我知道这很奇怪,但这就是我的设置方式。我的问题在于:

ArrayToUse 不=名字,它=“约翰”,“保罗”,“乔治”,“林戈”

我想要: alert( "使用的数组是: "+ArrayToUse+ ".");我希望结果是:

"The Array Used Was: FirstNames."

我不想要结果:

"The Array Used Was: John","Paul","George","Ringo."

所以……我知道这听起来很傻,但是,对象是否有预定义的属性包含对象的名称?

即ArrayToUse.name -> 名字。 ??? (目前未定义)

是否有我不知道的属性可用于此用途?或者,我是否必须自己设置它,例如: FirstNames = ["约翰","保罗","乔治","林戈"]; FirstNames.name="FirstNames";

如果麻烦/文件空间/带宽已经存在,我讨厌经历它。

在有人说:“在其他地方回答过”之前,我承认我见过类似的问题,但..几个小时后,我不断地寻找倒推的答案。即海报告诉您如何使用名称创建一个新变量变量是数组的字符串内容,海报警告他们仅使用现有数组。这与我正在寻找/要求的完全相反。

我想以字符串形式获取对象/数组的名称,不是数组/对象的内容。

最佳答案

最简单的方法是使用一个对象来存储所有数组和一个变量来存储您想要的数组属性

x = 3;
var arrayToUseName = "FirstNames", arrayToUse,
data = {
FirstNames: ["John", "Paul", "George", "Ringo"],
LastNames: ["Smith", "Jonson", "Jones", "Doe"],
SemiRandomNumbers: [3, 6, 7, 4, 2, 1, 0, 9]
}

arrayToUse = data[arrayToUseName]

然后更改数组

arrayToUseName="LastNames";
arrayToUse = data[arrayToUseName];

现在您始终可以访问arrayToUseName

<小时/>

要对变量执行相同的操作,它们必须位于全局命名空间中并使用

window[arrayToUseName];

但是将事物放在全局命名空间中可能会产生您希望避免的冲突

关于javascript - 对象的方法可以将要恢复的对象本身的名称存储为 JavaScript 中的字符串吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35262563/

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