Javascriptを勉強しているときに見かけたjoinについて学んでいきます。
join()とは?
join()メソッドは主に配列の全要素を連結した文字列を新たに作成して返します。
構文
配列.join([セパレータ])
セパレータでは区切り文字を入力します。
オプションのため書かなくても動作します。書かない場合「,」で区切られます。
join()サンプルコード
セパレータがハイフンの場合
const arr = [“赤”, “青”, “黄”];
let str1 = arr.join(); // デフォルト
let str2 = arr.join(“-“); // ハイフン区切り
let str3 = arr.join(“色,”); // 複数文字
console.log(str1);
console.log(str2);
console.log(str3);
結果
赤,青,黄
赤-青-黄
赤色,青色,黄
文字間なのでstr3の最後の配列の要素は黄色,とはなりませんでした。
配列の中身がnullまたは空のとき
const arr = [“赤”, null, “”];
let str1 = arr.join(“-“); // ハイフン区切り
console.log(str1);
結果
赤–
配列の要素がnullの場合は何も表示されません。
また空の場合も同様です。
パラメータを連結
オブジェクトの中のファーストネームとファミリーネームを連結させてみました。
const persons = [
{firstName : “Tom” , familyName : “Goto”},
{firstName : “Joy” , familyName : “Hudson”},
{firstName : “Mai” , familyName : “Tanaka”}
];
const personNames = persons.map(getName);
function getName(item){
let name = [item.firstName, item.familyName].join(” “);
return name;
}
console.log(personNames);
おわり
csvで書き出してエクセルで取り込むときとかに使うんですかね。
簡単で便利そうなjoin()メソッドこれから使う機会がありそうです。
参考
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/join