JavaScript xxx.filter is not a functionの解決方法
環境
Google Chrome 114.0.5735.199(Official Build) (64 ビット)
Windows 11 Pro 64bit
修正前
const str = '23456'; const result = str.filter(v => v % 2 === 0);
エラーメッセージ
Error: str.filter is not a function
原因
filter関数に文字列に使用できない。
方法
filter() メソッドは、この配列の中から、提供された関数で実装されたテスト
に合格した要素のみを抽出したシャローコピーを作成します。
文字列を配列化して使用して「toString」や「join(“”)」などで文字列に戻す
修正後
const str = '23456'; const result = [...str].filter(v => v % 2 === 0); console.log( result ); console.log( result.toString() ); console.log( result.join("") );
実行結果
> Array ["2", "4", "6"] > "2,4,6" > "246"