如何在数组名称中添加数字

mad*_*mix 2 javascript arrays variables while-loop

我有5个数组,每个数组内有8个字符串.每个数组的名称都被数字所取代,例如'titles1','titles2'......我想创建一个while循环来检查每个数组中的每个字符串.我目前遇到的问题是我无法更改数组名称中的数字(从1到5 - titles1,2,3 ......).知道我怎么能让它工作吗?但是代码可以工作,因为数组名称现在是一个字符串,它不会检查数组中的任何内容.

var i = 0; var j = 1; var titles = '';
while(j <= 5) {
    titles = 'titles' + j;
    while(titles1.length >= i) {
        if (searchBookInput === titles[i]) {
            return titles[i] + ' is available';
        }
        i++;
    } j++; i = 0;
}
Run Code Online (Sandbox Code Playgroud)

Sta*_*cky 5

您可以将五个数组放入一个对象并迭代其键,而不是尝试迭代变量名称:

var myObj = {
    titles1: ["The", "quick", "fox", "jumps", "over", "the", "lazy", "dog"],
    titles2: ["The", "quick", "fox", "jumps", "over", "the", "lazy", "dog"],
    titles3: ["The", "quick", "fox", "jumps", "over", "the", "lazy", "dog"],
    titles4: ["The", "quick", "fox", "jumps", "over", "the", "lazy", "dog"],
    titles5: ["The", "quick", "fox", "jumps", "over", "the", "lazy", "dog"]
};

for (var key in myObj) {
    var array = myObj[key]; //array will be titles1, titles2, ...
    //do your stuff here...        
}
Run Code Online (Sandbox Code Playgroud)

这是有效的,因为在JavaScript中,您可以通过两种方式访问​​对象的值:

object.someValue
Run Code Online (Sandbox Code Playgroud)

object["someValue"]
Run Code Online (Sandbox Code Playgroud)