Товарищи javascript'еры, помогите новичку, пожалуйста.
var elemNumber;
var numberStr;
var subs = 'Ель2Сосна';
if (typeof subs.substring(0,1)*1 == 'number') {
firstNumber = subs.substring(0,1)*1;
}
var table = {
'Ель': 13,
'Сосна': 2223,
'Береза': 122,
'Дуб': 2687
}
var arr = subs.match(/[А-ЯЁA-Z][а-яёa-z]+/g),
i = arr.length;
alert (arr[0]);
alert (subs.substring(subs.indexOf(arr[0]) + arr[0].length, subs.indexOf(arr[0]) + arr[0].length+1)); // проверка на работоспособность
for (i=0; i < arr.length + 1; i++) {
if (typeof subs.substring((subs.indexOf(arr[i]) + arr[i].length, subs.indexOf(arr[i]) + arr[i].length+1)*1) == 'number') {
table[arr[i]] = table[arr[i]]*subs.substring((subs.indexOf(arr[i]) + arr[i].length - 1, subs.indexOf(arr[i]) + arr[i].length)*1);
}
}
alert (table[arr[i]]);
alert (table[arr[0]]);
Программа должна распознавать элементы массива в строке, введенной пользователем, после чего изменять значения элементов массива (цифры), умножая, если есть число после введенного элемента массива, на это число.
К примеру, есть в массиве 'Береза': 122 и т.д.
Пользователь ввел строку "Береза2ДубСосна"
Значение 'Буреза' должно измениться с 122 на 244, значения Дуба и сосны должны остаться старыми.
Я написал цикл, который должен это реализовывать (поиск и перезапись значений), но он не работает. Сам алгоритм мой нахождения цифры рабочий, проверка алертом есть, но цикл работать отказывается.
Может, кто-нибудь заметит ошибку?