配列内で最小の数をとる関数があります。配列に文字列がない場合は0を返します。 - JS
私がしたことは、typeofプロパティを使用して数値だけを除外し、Infinityの値を比較したことです。
現在、配列が空の場合は0を返します。
しかし、配列に文字列またはその他のデータ型のみが含まれている場合、Infinityが返されます。
は、ここに私のコードです:
function findSmallestNumberAmongMixedElements(arr) {
var smallestNum = Infinity;
if(arr.length !== 0){
for(var i = 0; i < arr.length; i++){
if(typeof arr[i] === 'number' && arr[i] < smallestNum){
smallestNum = arr[i];
}
}
return smallestNum;
}
return 0;
}
var output = findSmallestNumberAmongMixedElements(['sam', 3, 2, 1]);
console.log(output); // --> 4
それは同様に、配列には番号がない場合は0を返す必要があります。
私はここで何が間違っていますか?
は、配列が負の数を格納することは可能ですか?もしそうでなければ 'smallestNum'を' Infinity'ではなく '0'に初期化することができます。 –
'findSmallestNumberAmongMixedElements(['sam'、3、2、1])'は私のために '1'を返しています。他のテストケースを提供できますか? –
上記の例では1ではなく4が返されます。 – stetsmando