非破壊的な配列メソッド
by
rakus frontend
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
非破壊的な配列メソッド
Slide 2
Slide 2 text
破壊的メソッド、非破壊的メソッド ● 破壊的メソッド(変更メソッド) ○ 元の配列を変更する ● 非破壊的メソッド(コピーメソッド) ○ 元の配列を変更しない ○ コピーは常にシャローコピーで行われる
Slide 3
Slide 3 text
破壊的メソッド fill():指定した範囲を、指定した値で埋める push():配列の末尾に一つ以上の要素を追加 pop():配列の末尾から要素を削除 reverse():配列の順序を逆にする sort():配列の並べ替え splice():要素の除去・置換・追加など
Slide 4
Slide 4 text
非破壊的メソッド concat():2 つ以上の配列を結合。 slice():配列の一部を範囲指定で抽出し新しい配列を生成 toReversed():配列の要素の順序を逆にし、新しい配列を生成 toSorted():配列の並べ替えて、新しい配列を生成 toSpliced():要素の除去・置換・追加して、新しい配列を生成 with():指定された位置の要素を指定された値で置き換えて、新しい配列を生成
Slide 5
Slide 5 text
破壊的メソッドの代替メソッド 破壊的メソッド 破壊的メソッドの代替メソッド(非破壊的メソッド) fill() 代替メソッドなし pop() slice(0, -1) push(v1, v2) concat([v1, v2]) reverse() toReversed() splice() toSpliced() sort() toReversed()
Slide 6
Slide 6 text
破壊的メソッドの代替メソッド 破壊的メソッド 破壊的メソッドの代替メソッド(非破壊的メソッド) fill() 代替メソッドなし pop() slice(0, -1) push(v1, v2) concat([v1, v2]) reverse() toReversed() splice() toSpliced() sort() toSorted()
Slide 7
Slide 7 text
ES2023 ( 2023 / 06 )
Slide 8
Slide 8 text
ES2023でリリースされた配列メソッド ● toReversed() ● toSpliced() ● toSorted() ● findLast() ● findLastIndex() ● with()
Slide 9
Slide 9 text
ES2023でリリースされた配列メソッド ● toSorted() ● toReversed() ● toSpliced() ● findLast() ● findLastIndex() ● with() 紹介済み 時間の関係上省略 紹介
Slide 10
Slide 10 text
with()
Slide 11
Slide 11 text
with() 指定された位置の要素を指定された値で置き換えた新しい配列を返す。 const arr = [1, 2, 3, 4, 5]; console.log(arr.with(2, 6)); // [1, 2, 6, 4, 5] console.log(arr); // [1, 2, 3, 4, 5] array.with(index, value) 構文 サンプルコード
Slide 12
Slide 12 text
with() 指定された位置の要素を指定された値で置き換えた新しい配列を返す。 const arr = [1, 2, 3, 4, 5]; console.log(arr.with(2, 6)); // [1, 2, 6, 4, 5] console.log(arr); // [1, 2, 3, 4, 5] arr.toSpliced(2, 1, 6) 🤔
Slide 13
Slide 13 text
デモ demo link
Slide 14
Slide 14 text
with():まとめ 配列操作のreplaceメソッドのようなものと思ってください。(時間あまって たら話す) 参考 :https://tc39.es/proposal-temporal/#sec-temporal.plaindate.prototype.wit h https://github.com/tc39/proposal-change-array-by-copy/issues/103