[JavaScript]変数に値(string型の数値)がある場合のみ表示させる
3377 ワード
APIなどで、受け取った値(string型の数値)がnullでない場合のみ表示させるサンプルコード(という名の覚書き)
前提条件
- 変数の値は基本string型
→ 送信元でコントールされているものとする - 対象の変数に値が入る場合は数値(string型)のみで、値なしの場合は空文字、null、undefined(定義がない場合を想定)が入るものとする
コード
サーバから受け取った多次元連想配列のageに入力値があれば「歳」を付けて表示、なければ表示なしとする場合(前提として0歳はありえないものとする)
Object.keys(data).forEach((key) => {
・・・(前の処理)
// 数値に変換
let age = Number(`${data[key]['age']}`);
// 非数もしくは0の場合は表示しない
age = isNaN(age) || age == 0 ? "" : age + "歳";
(処理の続き) ・・・
}
ポイント
- Number()関数での変換結果が
- undefined、文字列の場合: NaN
- 空文字、null(あとスペースも)の場合: 0
となることを活用
終わりに
あくまでうまくいった内容の覚書きです
当方JavaScript初級者のため、よりよい書き方があればぜひご教授ください
参考
- Number | mdn web docs
- isNaN() | mdn web docs
- NaNの判定 isNaNとかNumber.isNaNとか | JavaScriptのメモ
- 型変換 | JAVASCRIPT.INFO
Author And Source
この問題について([JavaScript]変数に値(string型の数値)がある場合のみ表示させる), 我々は、より多くの情報をここで見つけました https://zenn.dev/c_hero/articles/4b21da0ead0808著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol