LoginSignup
0
0

More than 3 years have passed since last update.

本棚で考えるJavascriptの配列操作

Posted at

javascriptのオブジェクトを本棚に見立てて
色々操作してみる。


const books = {
    novel: {
      name: ['火花', '赤毛のアン', '星の王子様']
    },

    comic: {
      name: ['鬼滅の刃', 'ONE PIECE', 'キングダム']
    },

    business: {
      name: ['7つの週間', 'サピエンス全史', '自助論']
    },

    philosophy: {
      name: ['方法序説', '死に至る病', 'ニコマコス倫理学']
    },

    biography: {
      name: ['フランクリン自伝', '果てなき野望', 'マイ・ストーリー']
    },

    favorite: {
      name: ['FACTFULLNESS', '蹴りたい背中', '恋は雨上がりのように']
    },
}

console.log(books);

Q1

新しく進撃の巨人を買ったので本棚に追加する

  • comicに進撃の巨人を追加(先頭に)

A

books.comic.name.unshift('進撃の巨人');

ちなみに末尾に追加するにはpush

Q2

7つの習慣を読みたくなってきた

  • 7つの習慣を取り出す
  • 「7つの習慣を読み終わりました」と出力する
  • businessの棚の一番最後に戻す。

A

const choose = books.business.name.shift();
console.log(choose + 'を読み終わりました');
books.business.name.push(choose);
console.log(books);

7つの習慣を読み終わりましたと出力された後に
business.nameの配列の最後に7つの週間が追加されていればOK

Q3

「赤毛のアン」がとても面白かったのでお気に入りの棚に追加しようと思ったが、お気に入りの棚がもういっぱいで本が入らない!

仕方ないので、「恋は雨上がりのように」は漫画の棚に移動する

  • 赤毛のアンを取り出す
  • 恋は雨上がりのようにを取り出す
  • 赤毛のアンをfavoriteに追加
  • 恋は雨上がりのようにcomicに追加

A

const read = books.novel.name.splice(1, 1);

console.log(read + 'を読みました')

//読んだ後にパンパンだと気づく

const move = books.favorite.name.pop();

books.comic.name.push(move);
books.favorite.name.push(read);

console.log(books);
  • novelが2つになって
  • comicに恋は雨上がりのようにが追加されて
  • favoriteに赤毛のアンが追加

されてればOK

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0