Ответ 1
Самое короткое решение, оценивается до true
тогда и только тогда, когда каждый элемент является (допустимым) числом:
!yourArray.some(isNaN)
У меня есть массивы, такие как
var arrayVal_Int = ["21", "53", "92", "79"];
var arrayVal_Alpha = ["John", "Christine", "Lucy"];
var arrayVal_AlphaNumeric = ["CT504", "AP308", "NK675"];
arrayVal_Int
следует рассматривать как (чисто) числовой.arrayVal_Alpha
и arrayVal_AlphaNumeric
должны рассматриваться как строки.Мне нужно проверить это в JavaScript.
Самое короткое решение, оценивается до true
тогда и только тогда, когда каждый элемент является (допустимым) числом:
!yourArray.some(isNaN)
Используя простой JavaScript, вы можете сделать что-то вроде этого:
var IsNumericString = ["21","53","92","79"].filter(function(i){
return isNaN(i);
}).length > 0;
Он вернет true;
У меня была аналогичная потребность, но я хотел проверить, содержит ли список только целые числа (то есть без десятичных дробей). На основе приведенных выше ответов здесь есть способ сделать это, который я публикую на случай, если кому-то понадобится аналогичная проверка.
Спасибо @Touffy, за ваше предложение.
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
Попробуйте это:
let x = [1,3,46,7,7,8];
let y = [1,354,"fg",4];
let z = [1, 3, 4, 5, "3"];
isNaN(x.join("")) // false
isNaN(y.join("")) // true
isNaN(z.join("")) // false