概要
JavaScriptで、複数の値から最初の有効値を返す関数です。
ここでは有効値の定義を、「null、undefined、NaN、Infinity、-Infinity」を除いたものとしています。
定義
function findFirstValidValue(...values){
for(let v of values){
if(typeof v === "number"){
if(Number.isFinite(v){
return v;
}
continue;
}else{
if(typeof v !== "undefined" && v !== null){
return v;
}
continue;
}
}
return null
}
使用例
const x = findFirstValidValue(null, 1, 2, NaN);
const y = findFirstValidValue(undefined, Infinity, NaN, -Infinity);
console.log("x is " + x + ", y is " + y + ".");
表示
x is 1, y is null.