我正在尝试创建一个由多个不同按钮调用的函数,并根据调用函数的按钮选择特定数组。
例如:
如果带有 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/