如何确保只能传递字符串和数字参数?

时间:2019-09-28 01:35:06

标签: javascript

如何检查我的参数是仅字符串还是数字?

任务4-在列表中找到最小的数字。  允许将任意数量的参数传递给函数。同时允许 要传递的字符串和数字参数,但如果有其他参数则抛出错误  类型会传递给函数(例如Boolean,Date等)。如果清单  为空(没有传递给函数),返回Number.MIN_VALUE,

<script>
 highAndLow =(... numbers) => {

 if(numbers.length<=0){

 return Number.MIN_VALUE;
}
 if (typeof numbers !== 'string' || (isNaN(numbers)===true)){
  throw new Error('Whoops!, Only String and Numbers allowed');
  }else{

 numbers = numbers + '';
  var smallestElement = numbers[0];
  numbers = numbers.split(' ');
   for (var i = 0; i < numbers.length; i++) {
    if (+numbers[i] < +smallestElement) {
      smallestElement = numbers[i];
     }

     }


   }


    return ` ${smallestElement}`;
     };

 console.log(highAndLow('4 5 29 54 4 0 -214 542 -64 1 -3 6 12')); 
   alert(highAndLow('4 5 29 54 4 0 -214 542 -64 1 -3 6 12'));
 </script>

1 个答案:

答案 0 :(得分:0)

您需要在循环内进行类型检查。 typeof numbers[i] !== 'string' || (isNaN(numbers[i])===true