caller1、caller2、caller3がどのように定義されているかを確認したいと思います。確かに、私はそれらが整数であると仮定しています。そのため、次のようになります。
var caller1 = 0
, caller2 = 1
, caller3 = 2
;//var
var categories = [];
categories[caller1] = "asasd";
categories[caller2] = "asasd";
categories[caller3] = "asasd";
function getNewItem(caller){ $("#" + categories[caller]).show() }
しかし、私の他の仮定は、それらが文字列である可能性があるということです。その場合、これはすべて間違っています。配列の代わりにオブジェクトを使用してください。
var caller1 = 'Gary'
, caller2 = 'John'
, caller3 = 'Paul'
;//var
var categories = {};
categories[caller1] = "asasd";
categories[caller2] = "asasd";
categories[caller3] = "asasd";
function getNewItem(caller){ $("#" + categories[caller]).show() }
しかし、これは関数や数値にも拡張できます。
var caller1 = function(){ return 'blah' }
, caller2 = 8
, caller3 = 'aString'
;//var
var categories = {};
categories[caller1] = "asasd";
categories[caller2] = "asasd";
categories[caller3] = "asasd";
function getNewItem(caller){ $("#" + categories[caller]).show() }