毎日更新

21日目 配列むずい

こんばんは。

今日は配列にやられましたねー。むずかしいです、配列。

実務でjs触ったり自分でも勉強する中で確実に力はついてきているので、他人が書いたコードの配列操作を読み解くのはそんなに苦ではなくなってきてるのですが、いざ書けと言われるとめっちゃ難しいです。

まず、自分のやりたいことがどうやって配列操作をすれば実現可能かイメージできないことが多いです。ある程度読めるようにはなってきたので配列操作するメソッドの存在は知っているのですが、自分が実装する時にそいつらをうまく使いこなすことができないんですよね。

今日は、splice()を使う場面でつまづき、多くの時間を溶かしてしまいました。

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/splice

やりたかったのは、

var arr = [true, true];

みたいな配列があったとき、中身を書き換えて

console.log(arr); //[false, true]

のようにしたかったのですが、ここで詰まりました。

僕は普通に

arr[0] = false;

という感じで書き換えれると思ってやっていたのですが、なぜか

var arr = [true, true];
 arr[0] = false;
 console.log(arr); //[true, true, undefined:false]

3番目の要素に謎のundefinedが入ってしまい、その原因が全く分からずめちゃくちゃ行き詰まってました。

結局 splice() を使って解決したのですが、そもそも配列要素を変更するときに

arr[0] = false;

みたいにインデックス指定して値変更できないんだっけ?と思ってブラウザのコンソールで試したら、、、いけるやん!!!

画像

あの時いけなかったのはなぜなんだ。。。明日先輩に聞いてみよう。

珍しく技術ネタでした。(初めてこのブログでコード書いてみたけど、このテーマではソースコード書くの向いてないな。デザインがしょぼい。。。)

おわり。

  • この記事を書いた人

きわっち

元食品メーカー製造マンが未経験からwebエンジニアになりました。 エンジニアとして0から成長していく過程を発信していきたいと思っています。

© 2021 きわっちのブログ Powered by AFFINGER5