javascript - 如何创建一个函数来选择特定的数组?

标签 javascript arrays

我正在尝试创建一个由多个不同按钮调用的函数,并根据调用函数的按钮选择特定数组。

例如:

如果带有 id="Anterior" 的按钮调用了该函数,该函数将选择名为 plusAnterior 的数组:

var plusAnterior = ["p", "b", "t", "d", "ɸ", "β", "f", "v", "θ", "ð", "s", "z", "m", "n", "l", "ɬ", "r", "ɾ"];
var minusAnterior = ["c", "ɟ", "k", "g", "ʃ", "ʒ", "x", "ɣ", "ɲ", "ŋ", "j", "w", "ʡ", "h"];
var toAdd = [];

function addFeature(featureId) {
  if (activeFeatures === 0) {
    toAdd = // plusAnterior called here
  }
}

问题是,我不能简单地执行 toAdd = plusAnterior,因为我希望我的函数适用于按下的任何按钮。我想做类似 getElementById("plus"+ featureId) 的事情,但我做不到,因为我尝试选择的数组不在我的 HTML 中。

感谢您的帮助。

最佳答案

在 javascript 中,您几乎可以将 object 用作 key/value 数组。

var testObject = {
  featureId_a: [1, 2, 3, 4, 5], // etc
  featureId_b: [1, 2, 3, 4, 5] // etc
}

然后我们可以像这样用你的方法返回它......

function addFeature(featureId) {
  return testObject[featureId];
}

我想这就是你的意思。否则,您可以使用二维数组并根据索引进行选择。但这取决于您的数据确实是最佳选择。

为了简洁和一些净化,您当然应该检查对象的属性。

if(testObject.hasOwnProperty(featureId)){
  return testObject[featureId];
}

关于javascript - 如何创建一个函数来选择特定的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53818491/

相关文章:

arrays - 快速减少功能问题

python - python 2.7中使用bytearray向中继板串口发送十六进制命令

javascript - 检测存储在变量中的 URL 中的字符串

javascript - 如何在不重新启动应用程序的情况下清除所有用户的快速 session ?

javascript - 为 Facebook 像素跟踪多次激活像素

java - 性能原语 Array 与 ArrayList

arrays - 如何在循环中使用golang的追加到数组中

javascript - 通过javascript从iphone读取gsm号码

javascript - 有没有办法在没有事件的情况下找到鼠标在屏幕上的当前位置?

C程序计算NxN矩阵的行列式