2012-05-10 8 views
9

Я создал массив:конвертировать массив строк в массив целых чисел

var endFlowArray = new Array; 
for (var endIndex in flowEnd) { // <- this is just some numbers 
    for (var i in dateflow) { // <- same thing 
     var check = $.inArray(flowEnd[endIndex], dateflow[i]); 
     if (check >= 0) { 
      endFlowArray.push(i); 
      flowEnd[endIndex] = null; 
     } 
    } 
} 

как я могу преобразовать массив строк:

["286", "712", "1058"] 

в массив целых чисел:

[286, 712, 1058] 
+5

Это простое решение. '.push (+ i)' или '.push (parseInt (i))'. Просто преобразование строки в целое. –

+1

'my endFlowArray придумал что-то вроде этого. Вам нужно объяснить это утверждение. Как он «подошел»? Вы используете отладчик javascript? оповещать? Что-то другое? –

+0

Я использовал console.log() –

ответ

5

Строки в консоль символизируется переводом их в кавычки. В этом случае мы можем предположить, что i является строкой. Преобразуйте его в целое число и оно больше не будет строкой и больше не будет иметь эти кавычки.

endFlowArray.push(+i); 

Ваши "номера" в flowEnd и dateFlow самом деле являются строками, а не числа.

92
var arrayOfNumbers = arrayOfStrings.map(Number); 
+0

Очень приятно. – jhrr

+7

Теперь это полезно. Должен быть принятый ответ. – TMichel

Смежные вопросы