【JavaScript Tips#1】StringにSliceを使用する/StringをArrayに/NumberをArrayに
目次
毎日codewarsに取り組んでいます!
codewarsで学んだこと、もう少し深堀して調べたことをTips感覚で残します。
今回は、StringとNumberの扱いについてを調べました
文字列にSliceを使用する
配列でしか使えないメソッドだと思ってた...
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/slice
// 構文
// slice(indexStart, indexEnd)
// indexEndは含まれない
console.log("012345".slice(0,3));
// 012
// indexStartがlength以上だった場合は空文字が返る
console.log("012345".slice(6));
// ""
// 0以下の場合は
console.log("012345".slice(-1));
// 5
最初と最後の文字を取り除く
// input: *abcdef*
// output: abcdef
function hoge(str) {
return str.slice(1, -1);
}
console.log(hoge("*abcdef*"))
// abcdef
StringをArrayにする
// input: abcdef
// output: ['a', 'b', 'c', 'd', 'e', 'f']
Split
"abcdef".split('')
// ['a', 'b', 'c', 'd', 'e', 'f']
Spred構文
[..."abcdef"]
// ['a', 'b', 'c', 'd', 'e', 'f']
文字列にスペースやピリオドが含まれている場合
// input: "abc def ghi."
// output: ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
NumberをArrayにする
String(12345).split("")
// ['1', '2', '3', '4', '5']
[...12345 + ""]
// ['1', '2', '3', '4', '5']
先ほどは文字列でしたが、次はNumberの状態で格納された配列を作る
// input : 12345
// output: [1,2,3,4,5]
// arrayfromを使用する
Array.from(String(12345), Number)
// [1,2,3,4,5]
// mapを使用する
String(12345).split("").map(Number)
// other
[...12345 + ""].map(Number)
まとめ
codewarsをやっていてStringとNumberの扱いは
理解が浅いためかなり弱点だと気づくことができました。
これを機に理解を深めたい!!!!!
もりけん塾でJavaScriptを学習をしています!
もりけん先生のTwitter:https://twitter.com/terrace_tech
https://kenjimorita.jp/