Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Check if an array contains (only) numeric values

Tags:

I have arrays such as

var arrayVal_Int = ["21", "53", "92", "79"];    var arrayVal_Alpha = ["John", "Christine", "Lucy"];   var arrayVal_AlphaNumeric = ["CT504", "AP308", "NK675"]; 
  • Above arrayVal_Int should be considered as (purely) numeric.
  • arrayVal_Alpha and arrayVal_AlphaNumeric should be considered as strings.

I need to check that in JavaScript.

like image 424
karthic4info Avatar asked Sep 28 '15 06:09

karthic4info


2 Answers

Shortest solution, evals to true if and only if every item is (coercible to) a number:

!yourArray.some(isNaN) 
like image 172
Touffy Avatar answered Oct 18 '22 23:10

Touffy


I had a similar need but wanted to verify if a list contained only integers (i.e., no decimals). Based on the above answers here's a way to do that, which I posting in case anyone needs a similar check.

Thanks @Touffy, for your suggestion.

let x = [123, 234, 345]; let y = [123, 'invalid', 345]; let z = [123, 234.5, 345];  !x.some(i => !Number.isInteger(i))  // true !y.some(i => !Number.isInteger(i))  // false !z.some(i => !Number.isInteger(i))  // false 
like image 31
aztlan2k Avatar answered Oct 18 '22 21:10

aztlan2k