Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Elements of the array (Adding) (https://javascript.ru/forum/misc/16196-elements-array-adding.html)

BanL 29.03.2011 19:01

Elements of the array (Adding)
 
Привет всем!

Вопрос такой: Как сложить два элемента одного эрея ? Ниже часть моего кода:

unction IdValidation(errMessages)
{
var entry1_info = mortgage.userId.value
var entry1_chars = entry1_info.length
var left = entry1_info[0] + entry1_info[1];
alert('The sum is '+ left + '');

if(entry1_chars < 10)
{
errMessages += ' <li>All 10 positions must be present.</li>\n';
}

if(entry1_info[4] != '-')
{
errMessages += ' <li>Position 5 must be a hyphen (-).</li>\n';
}

if(isNaN(entry1_info[0]) || isNaN(entry1_info[1]) || isNaN(entry1_info[2]) || isNaN(entry1_info[3]) || isNaN(entry1_info[5]) || isNaN(entry1_info[6]) || isNaN(entry1_info[7]) || isNaN(entry1_info[8]) || isNaN(entry1_info[9]))
{
errMessages += ' <li>Is not numberic.</li>\n';
}

return errMessages;
}

Моя проблема заключается в том, что когда я складываю var left = entry1_info[0] + entry1_info[1]; ( Допустим [0] = 1 и [1] = 2 ) я получаю не 3 а 12. евал тот жэ результат выдает. Прошу помощи в решении этой проблемы. Спасибо.

Matre 29.03.2011 19:08

var left = +entry1_info[0] + +entry1_info[1];


У Вас складываются строки, а не числа.
Унарный "+" приводит строку к числу:

var a = "123";
alert(typeof +a); // number

Sweet 29.03.2011 19:08

Очевидно, складывать нужно строки:
entry1_info = [1,2];
alert( '' + entry1_info[0] + entry1_info[1] );


Часовой пояс GMT +3, время: 05:15.