Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JavaScript中找到数组名称的最后一个字符?_Javascript_Arrays - Fatal编程技术网

如何在JavaScript中找到数组名称的最后一个字符?

如何在JavaScript中找到数组名称的最后一个字符?,javascript,arrays,Javascript,Arrays,如果我有几个数组,让我们称它们为person1,person2,person3和person4,我有一个参数在1和4之间的函数,我如何选择那个特定的数组 例如: var person1 = ["Steve", "McStevey"]; var person2 = ["Mike", "McMikey"]; var person3 = ["Dave", "McDavey"]; var person4 = ["Joe", "McJoey"]; 如果我运行这个函数 getPerson(3); 并将论

如果我有几个数组,让我们称它们为person1,person2,person3和person4,我有一个参数在1和4之间的函数,我如何选择那个特定的数组

例如:

var person1 = ["Steve", "McStevey"];
var person2 = ["Mike", "McMikey"];
var person3 = ["Dave", "McDavey"];
var person4 = ["Joe", "McJoey"];
如果我运行这个函数

getPerson(3);
并将论点传递给

function getPerson(x) {...}

函数使用to参数确定我要查找的数组是否为person3。

创建person数组的数组:

var persons=[person1,person2,person3,person4]


persons[x]
将为您提供正确的数组。正如Redu所提到的,您可以访问person1作为
persons[0]

创建一个person数组:

var persons=[person1,person2,person3,person4]


persons[x]
将为您提供正确的数组。正如Redu所提到的,您可以通过
个人[0]
访问person1

您最好通过个人ID定义一个地图

var persons = {
  "1": ["Steve", "McStevey"],
  "2": ["Mike", "McMikey"],
  "3": ["Dave", "McDavey"],
  "123": ["Joe", "McJoey"]
}

function getPersonById(id) {
  return persons[id]
}

你最好用人物的ID来定义地图

var persons = {
  "1": ["Steve", "McStevey"],
  "2": ["Mike", "McMikey"],
  "3": ["Dave", "McDavey"],
  "123": ["Joe", "McJoey"]
}

function getPersonById(id) {
  return persons[id]
}

另一种选择是将数组放入查找对象中

var对象={
人员1:[“史蒂夫”,“麦克斯蒂维”],
人2:[“迈克”,“麦克麦克”],
人员3:[“Dave”,“McDavey”],
人4:[“乔”,“麦克乔伊”],
};
函数getPerson(x){
返回对象['person'+x];
}

控制台日志(getPerson(1))另一个选项是将数组放入查找对象中

var对象={
人员1:[“史蒂夫”,“麦克斯蒂维”],
人2:[“迈克”,“麦克麦克”],
人员3:[“Dave”,“McDavey”],
人4:[“乔”,“麦克乔伊”],
};
函数getPerson(x){
返回对象['person'+x];
}


控制台日志(getPerson(1))一个简单的解决方案是使用一个开关盒或多个ifs<代码>如果(x==3)返回person3;否则,如果(x==4){…
为什么不使用二维数组?这样,您传递的数字只是一个索引,不需要处理变量数字。这取决于变量的定义位置,如果它们是全局的,您可以使用window[x],否则您必须使用eval。更好的解决方案是使用数组数组,只需
persons[x]
实际上我使用的是2D数组。在本例中,我只是使用了1D数组,以使事情更简单。此外,我不希望使用switch/if,因为person数组的数量可能会增加。不要这样做。JS不能将变量名用作您构造的字符串。在这种情况下,请改用数组。一个简单的解决方案是使用switch大小写或多个if。
if(x==3)返回person3;else if(x==4){…
为什么不使用二维数组?这样,您传递的数字只是一个索引,不需要处理变量数字。这取决于变量的定义位置,如果它们是全局的,您可以使用window[x],否则您必须使用eval。更好的解决方案是使用数组数组,只需
persons[x]
实际上,我使用的是2D数组。在本例中,我只是使用了1D数组来简化操作。此外,我不希望使用switch/if,因为person数组的数量可能会增加。不要这样做。JS不能将变量名用作您构造的字符串。在这种情况下,请改用数组。可能是
persons[x-1]
就是你的意思。要访问person3,你必须使用
persons[2]
?可能会产生误导性的代码……也许……但这些数组名称似乎已经是任意的了。为什么不让它成为person0、person1等等。我认为我们没有足够的上下文来做出判断。最后还是这样做了。是的,很抱歉我没有给出太多上下文,但这对我来说是可行的!可能是
persons[x-1]
就是你的意思。要访问person3,你必须使用
persons[2]
?可能会产生误导性的代码……也许……但这些数组名称似乎已经是任意的了。为什么不让它成为person0、person1等等。我认为我们没有足够的上下文来做出判断。最后还是这样做了。是的,对不起,我没有给出太多上下文,但这对我来说是可行的!这是最好的方法。这是最好的方法。