日頃の学習の成果や困ったこと、
新発見などを投稿します。

JavaScript スプレッド構文,Objectメソッドあたりの復習

JavaScript

投稿日時:

2022-02-28

かなり雑だけどスプレッド構文とObjectメソッドについて

スプレッド構文

[...array]のような感じで...がついている。
これが何を意味するかというとスプレッド(展開)している。
また、元のデータを残しつつコピーのような使い方もできる。

const array1 = [1,2,3,4];
const array2 = [5,6,7];
const array3 = [...array1,...array2]; //[1,2,3,4,5,6,7]
const obj1 = {...array1} //{1,2,3,4} このように配列の中身を展開してオブジェクトにしまったりできる。


//例えばこんな2つの配列があったとする。
const uids = ["aaaa","bbb","cccc"]
const contentIds = ["ttt","ssss","zzz"]
const newContent = {...contentIds} //特に意味はないがスプレッド構文を利用してオブジェクトにする

const combinedArray = uids.map((uid) => {
  const newCombinedArray =  Object.values(newContent).map((content) => {
      return {
        uid,content
      }
    })
    return newCombinedArray
})
//この処理も無駄だがObject.values()で中身のvalueで構成された配列を作り.mapメソッドを使用している。.mapメソッドはオブジェクトでは使えないので注意。

console.log(combinedArray);
// [
  [{"aaa","ttt"},{"aaa","sss"},{"aaa","zzz"}],
  [{"bbb","ttt"},{"bbb","sss"},{"bbb","zzz"}],
  [{"ccc","ttt"},{"ccc","sss"},{"ccc","zzz"}],
  ]このような配列が出来上がる。