Итак, curId
будет строкой "массив1" или "массив2"? Тогда вы бы сделали это так:
var lookups = {
array1: [50, 60],
array2: [120,180]
};
var curId = $(this).attr('id');
$('#result').text(number * lookups[curId[0]]);
Для этого нужно создать объект (lookups
), содержащий информацию, которую вы ищете. Этот объект имеет свойства array1
и array1
, которые являются вашими массивами. Вы получаете строку «array1» или «array2» из идентификатора вашего элемента в переменную curId
, а затем используете тот факт, что Javascript позволяет вам искать свойства по их имени, используя синтаксис []
. Все они одинаковы:
a = lookups.array1;
// is the same as
a = lookups["array1"];
// is the same as
a = lookups["array" + "1"];
// is the same as
s = "array1";
a = lookups[s];
Технически, если ваши массивы объявлены в глобальной области видимости, вы могли бы сделать это без использования объекта lookups
, но если вы довольно плохо знакомы с Javascript, я не буду вдаваться в подробности, почему бы ни рекомендовал используя один.