できる気になっているJSを改めてチュートリアルからやってみる 5日目

~~ 配列など ~~

最近ちょっとずつまた学びなおす必要が出てきたなぁと思い、いろいろプログラムを勉強しなおしているところなんですが、実はもう今使っている知識は古いのかもと思って、アップデートしようとおもいやってみる会。

実施するのは、この記事

MDN - Javascript

完全な初心者向けと書かれたチュートリアルは全然初心者向けではないって話。アップデートしていきましょう。

オブジェクトとしての文字列

特定の文字列を扱う

let browserType = 'mozilla';
browserType[0] // "m"

配列っぽくその部分の一文字をとれる。

indexOf("文字列”) - 文字列が含まれる場合はその最初の位置を、含まれない場合は -1
slice(はじまり,おわり) - 文字列の始まりと終わりを切り出す
toLowerCase() - 全部小文字
toUpperCase() - 全部大文字
replace("変えたい文字","置き換える文字") - 変えたい文字を置き換える文字に変更する

配列

let sequence = [1, 1, 2, 3, 5, 8, 13];
let random = ['tree', 795, [0, 1, 2]];

配列の中に配列だって入れられるよ!

多次元配列は配列の n番目のさらにn番目をみるよと書きます。

random = [2][2] // 2 がかえってきます

配列に長い長い文字列が含まれている場合、使いやすく分割して入れられるよ。

let myData = '札幌,仙台,東京,名古屋,大阪,博多';
let myArray = myData.split(',');
myArray.length; //6が返ってくる
myArray[0]; // 配列の最初の項目
myArray[1]; // 配列の二番目の項目
myArray[myArray.length-1]; // 配列の最後の項目

自分が一瞬考えてしまったのだが、文字列に split() で分割するとその返り値が配列なので入れても問題ないという事ですね。

join() でくっつける

let myData = '札幌,仙台,東京,名古屋,大阪,博多';
let myArray = myData.split(',');
let myNewString = myArray.join(','); //これで最初の文字列と同じ結果になる

join以外にも toString() でやる方法もあるが、 join() は区切り文字を選べるのでこっちを使うのがよさそう。

push(), pop()

push() - 配列の最後に項目を追加。新しく追加された配列の長さを返す
pop() - 配列の最後の項目を削除。削除された配列の項目を返す

let myArray = ['札幌', '仙台', '東京', '名古屋', '大阪', '博多'];
let newLength = myArray.push('横浜'); // 項目の一番後ろに追加
console.log(newLength); // pushは最終的な長さを返す
let removedItem = myArray.pop(); // 項目の一番後ろを削除
console.log(removedItem); // popは削除した内容を返す

unshift(),shift()

それぞれpush(),pop()と同じ動作だが、末尾ではなく先頭に対して行う

unshift() - 配列の最初に項目を追加。新しく追加された配列の長さを返す
shift() - 配列の最初の項目を削除。削除された配列の項目を返す

let myArray = ['札幌', '仙台', '東京', '名古屋', '大阪', '博多'];
let newLength = myArray.unshift('横浜');
console.log(newLength);
let removedItem = myArray.shift();
console.log(removedItem);

配列のアクティブラーニング

https://developer.mozilla.org/ja/docs/Learn/JavaScript/First_steps/Arrays

の問題で気が付いたのは、恐れずわかりやすくなるように変数に個別に入れるのが答えになっていたこと。今後ちゃんと学んでパフォーマンスが!とか考えるときには重要かもだけど、いったんわかりやすく書いてみるがよいのかな。

この記事が気に入ったらサポートをしてみませんか?