0
0

TypeError: item.trim is not a functionの対処法

Posted at

初めてtrim()関数を扱ったが、エラーが生じてしまい原因も特定できたので対処法を紹介する。

はじめ、こちらのスクリプトで処理しようとしていた。

list = list.map(item => item.trim() === "" ? new Date() : item);

空の要素を処理する日付に変える必要があったのでnew Date()に置き換えようとした。しかし、エラーの表示が消えない!

こちらのサイトを見て分かったのだが、trim()関数は配列(Array)の中身が文字列である必要があった。

対して、私の処理する必要がある配列は配列の中に数字が入っていて処理できなかったのである。

なので、数字の文字列を無理やり、文字列に変えてやる以下の方法ともう一つ、その下はmap()関数で置き換えの必要性が生じるすべての要素を書き込み置き換える方法を取った。

list = list.map(String);
list = list.map(item => item.trim() === "" ? new Date() : item);
list = list.map(item => (item === "" || item === " " || item == null) ? new Date() : item);

どちらで処理してもいいが、後に文字列になった数字をもとに戻す処理もしなければならないので後者を選択した。

また一つ学びを得た。ということでさいなら。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0