JavaScriptオブジェクトを手動でプリミティブ型に変換する方法
プリミティブデータ型への変換とは
プリミティブデータ型とは、文字列(string)、数値(number)、真偽値(boolean)など、オブジェクトではない基本的なデータ型のことです。
JavaScriptでは、オブジェクトをプリミティブデータ型に変換するために、toString()やvalueOf()といったメソッドが用意されています。これらのメソッドを使えば、JavaScriptのオブジェクトを簡単にプリミティブ型へと変換することができます。
例1:配列を文字列に変換する
次の例では、通常の配列をプリミティブデータ型である「文字列」に変換し、その結果を出力しています。toString()メソッドを呼び出すと、配列の各要素がカンマ区切りの文字列として連結されます。
<html>
<body>
<script>
var arr = [1, 2, 3];
document.write(arr.toString() + "</br>");
var arr1 = ['Hello','Hi','Glad','Pleasure'];
document.write(arr1.toString() + "</br>");
</script>
</body>
</html>出力結果
1,2,3 Hello,Hi,Glad,Pleasure
例2:Dateオブジェクトを数値に変換する
次の例では、Dateオブジェクトをプリミティブデータ型である「数値」に変換し、その結果を出力しています。valueOf()メソッドは、1970年1月1日0時0分0秒(UTC)からの経過時間をミリ秒単位で返します。
<html>
<body>
<script>
var d = new Date(2018, 5, 24);
document.write(d.toDateString() + "<br>");
document.write(d.valueOf());
</script>
</body>
</html>出力結果
Sun Jun 24 2018 1529778600000
まとめ
このように、toString()はオブジェクトを文字列型へ変換する場合に、valueOf()は数値型などの内部的な値を取得する場合に役立ちます。用途に応じて適切なメソッドを使い分けることで、オブジェクトから必要なプリミティブ値を自由に取り出すことができます。
-
JavaScriptでIDごとにオブジェクトの配列をグループ化する方法
JavaScriptでオブジェクトの配列をidなどの特定のキーごとにグループ化したい場合、reduce()メソッドを使うと簡潔に実装できます。この記事では、どのプロパティにも対応できる汎用的なgroupBy関数を作成し、実際のサンプルコードとともにその仕組みを詳しく解説します。 reduce()によるグループ化の考え方 reduce()は、配列の各要素を順番に処理しながら、1つの累積値(ここではオブジェクト)を組み立てていくメソッドです。各要素からキーの値を取り出し、その値がまだ結果オブジェクトに存在しなければ新しい配列を作成して、そこへ要素を追加していくことでグループ化を実現します。 サ
-
JavaScriptで辞書(連想配列)をオブジェクトのリストに変換する方法
JavaScriptでは、キーと値のペアを持つ「辞書」のようなオブジェクトを、Object.values()メソッドを使うことで簡単にオブジェクトの配列(リスト)へ変換できます。以下に具体的なサンプルコードを示します。 サンプルコード <!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Document&