JavaScriptで2つの配列を比較し、一致したものを取り出す方法コード

なんかよくやるのに、良く忘れるのでメモしておく 2つの配列を比較し一致したものを取り出したい。 特に難しいことはないのでまるっとコードを記載する。 const a:string[] =['a', 'b', 'c', 'd'] const b:string[] =['d', 'e', 'f', 'g'] // 期待値 // const c = string[] = ['d'] const c = a.filter(a =>b.includes(a)) console.log(c) これでcは期待値になる。 どっちをFilterするのか さて、いつもよくわからなくなるのは、どっちを回すべきなのかということ。 例えば今回は両者ともにLengthが4つだからいいけれど、例えば5と10だとどうなるのか。 実際にやってみる const a: string[] = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'] const b: string[] = ['b', 'd', 'f', 'h', 'i', 'xx'] const c = a.filter(a => b.includes(a)) console.log(c) と const a: string[] = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'] const b: string[] = ['b', 'd', 'f', 'h', 'i', 'xx'] const c = b....

投稿日 · 2023-06-06 · 更新日 · 2024-06-07 · 1 分 · nove-b

JavaScriptの配列で重複したものを削除し、ユニークな配列を作成する

配列から重複したものを削除する const numberArray = [0, 1, 1, 2, 3, 4, 4, 5]; const set = new Set(numberArray); const newNumberArray = [...set]; console.log(newNumberArray) // [0, 1, 2, 3, 4, 5] ただこれだけ。 これだけだと物足りないので説明をすると、 上記のコードは、配列numberArrayから重複を除いた値を取得し、新しい配列newNumberArrayに格納しています。具体的には、配列numberArrayをSetオブジェクトに変換し、Setオブジェクトのユニークな値を持つ新しい配列を作成しています。 スプレッド演算子(…)を使用して、Setオブジェクトを配列に変換していることに注目してください。これにより、新しい配列newNumberArrayが作成され、それにはnumberArrayのユニークな値が含まれます。 最後に、console.logを使用してnewNumberArrayをコンソールに出力しています。 ってChat GPTが説明してくれました。

投稿日 · 2023-05-10 · 更新日 · 2024-06-07 · 1 分 · nove-b

Javascriptで任意の値を持つn個の配列を作成する

ネットで見つけた方法は どうやら下記コードで目的は達成できるらしい。 new Array(10).fill(0).map(() => 0) // => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] いったい、どうしてこうなるのか。 何が行われているのか? new Array() かっこの中に入れたLength分の配列を作成する。 つまりnew Array(10)であれば10個の値を含む配列を作成してくれる。 ちなみに値はundefinedになる [undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined] fill() fill() メソッドは、開始位置(既定値は 0)から終了位置(既定値は array.length)までのすべての要素を、静的な値に変更した配列を返します。 つまり先ほど作った10個のundefinedを持つ配列のundefinedを0に変更してくれるということ? console.log(new Array(10).fill(0)) // [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ということらしい。 この時点でタイトル(n個の任意の値を持つ配列を作成する)という目的は達成されている。 いったいmap()は何をしているのか? map() このコードでいえばmap()は配列の個数分取り出して0を入れるという、まったく生産性のない動きをしている。 つまり本タイトルという目的を達成するためであれば、不要以外の何物でもない。 n個の任意の値を持つ配列を作成する方法 ということで結論は、 console.log(new Array(10).fill(0)) // [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] に落ち着いた。...

投稿日 · 2023-01-22 · 更新日 · 2024-06-07 · 1 分 · nove-b