Jquery,根据其他变量选择一个特定的2d数组

Jquery, Picking a specific 2d array to use depending on other variable

本文关键字:一个 数组 2d 其他 变量 选择 Jquery      更新时间:2023-09-26

在我的项目中,我使用2d数组在特定情况下附加特定的div。我试图使代码更干净和可用几次在1个网站上,我决定创建一个变量,将显示哪个数组应该根据html <div> id使用。

例如

if div id="ruby" 

I want to

console.log(ruby[1][1]), 
if div="rails" 
I want to console.log(rails[1][1]).

我创建了一个JS小提琴,应该会告诉你我有什么问题:

http://jsfiddle.net/6UgeB/

var ruby = [[1,2,3],
            [4,5,6]];
var rails = [[7,8,9],
             [10,11,12]];
$("div").each(function () {
    currentDiv = $(this);
    currentDivID = currentDiv.attr("id");
    console.log(currentDivID);
    /* HAVE TO SOMEHOW COMPARE THE currentDivID TO OTHER VARIABLE NAMES AND IF IT FITS SWITCH THE currentDivID WITH THE EARLIER SET VARIABLE */
    console.log(currentDivID[1][1]);
    /* THE ABOVE SHOULD RETURN IF currentDivID = ruby 5 OR 11 if currentDivID = rails */
});    

可以创建一个查找对象,将字符串映射到数组:

var map = { ruby : ruby, rails : rails };

现在您可以使用该对象来获取数组:

console.log(map[currentDivID][1][1]);

如果你把数组放到一个对象中:

var tables = {
    ruby: [[1,2,3],
          [4,5,6]],
    rails: [[7,8,9],
            [10,11,12]]
};

你可以使用:

tables[currentDivID][1][1]

您也可以使用Javascript eval方法

eval(currentDivID)[1][1];

见:http://jsfiddle.net/tleish/6UgeB/1/