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"

 

JavaScript

Posted by arkgame