<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Mell - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ エキスパートの手によるプログラミングチュートリアル記事を幅広く掲載。ウェブ開発、データサイエンス、DevOps、セキュリティ、開発者としてのキャリアなどについて学びましょう。 ]]>
        </description>
        <link>https://www.freecodecamp.org/japanese/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Mell - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/japanese/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sun, 24 May 2026 08:42:42 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/japanese/news/author/mell/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Bash の配列 - Bash スクリプトで文字列の配列を宣言する方法 ]]>
                </title>
                <description>
                    <![CDATA[ Bash スクリプトは、コマンドラインのタスクを自動化できる便利な方法です。 Bash を使用すれば、他のスクリプト言語やプログラミング言語と同じようなことがたくさんできます。変数の作成と使用、ループの実行、条件論理の使用、配列へのデータの格納が可能です。 機能をよく知っていても、Bash の構文は扱いにくいものです。この記事では、配列の宣言方法と、それをコード内で使用する方法について学びます。 Bash で配列を宣言する方法 Bash で配列を宣言するのは簡単ですが、構文に注意してください。他の言語でのプログラミングに慣れていると、見慣れたコードに見えるかもしれません。しかし、見逃しがちな微妙な違いがあります。 配列の宣言は、以下の手順で行います。  1. 配列に名前をつけます。  2. その変数名の後にイコール記号を付けます。記号の周りにはスペースを入れてはいけません。  3. 配列を丸括弧で囲みます。(JavaScript のような角括弧は使いません)  4. 文字列を引用符で囲み、間にカンマを入れずに入力します。 配列の宣言は以下のようになります。 myArray ]]>
                </description>
                <link>https://www.freecodecamp.org/japanese/news/bash-array-how-to-declare-an-array-of-strings-in-a-bash-script/</link>
                <guid isPermaLink="false">63ba8a2e1a000106267c9401</guid>
                
                    <category>
                        <![CDATA[ Bash ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Mell ]]>
                </dc:creator>
                <pubDate>Mon, 09 Jan 2023 23:30:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/japanese/news/content/images/2023/01/pexels-belle-co-1000445.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>原文:</strong> <a href="https://www.freecodecamp.org/news/bash-array-how-to-declare-an-array-of-strings-in-a-bash-script/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">Bash Array – How to Declare an Array of Strings in a Bash Script</a>
      </p><p>Bash スクリプトは、コマンドラインのタスクを自動化できる便利な方法です。</p><p>Bash を使用すれば、他のスクリプト言語やプログラミング言語と同じようなことがたくさんできます。変数の作成と使用、ループの実行、条件論理の使用、配列へのデータの格納が可能です。</p><p>機能をよく知っていても、Bash の構文は扱いにくいものです。この記事では、配列の宣言方法と、それをコード内で使用する方法について学びます。</p><h2 id="bash-">Bash で配列を宣言する方法</h2><p>Bash で配列を宣言するのは簡単ですが、構文に注意してください。他の言語でのプログラミングに慣れていると、見慣れたコードに見えるかもしれません。しかし、見逃しがちな微妙な違いがあります。</p><p>配列の宣言は、以下の手順で行います。</p><ol><li>配列に名前をつけます。</li><li>その変数名の後にイコール記号を付けます。記号の周りにはスペースを<em>入れてはいけません</em>。</li><li>配列を<em>丸括弧</em>で囲みます。(JavaScript のような角括弧は使いません)</li><li>文字列を引用符で囲み、間に<em>カンマを入れず</em>に入力します。</li></ol><p>配列の宣言は以下のようになります。</p><pre><code class="language-sh">myArray=("cat" "dog" "mouse" "frog")</code></pre><p>これだけです！とてもシンプルです。</p><h2 id="bash--1">Bash で配列にアクセスする方法</h2><p>配列をループする方法には 2 種類あります。要素そのものをループさせるか、インデックスをループさせます。</p><h3 id="-">配列の要素をループする方法</h3><p>配列の要素をループするには、次のようなコードになります。</p><pre><code class="language-sh">for str in ${myArray[@]}; do
  echo $str
done</code></pre><p>簡単に説明すると、これは JavaScript で <code>forEach</code> を使うようなものです。配列 (myArray)の中の各文字列 (str) に対して、その文字列をプリントします。</p><p>このループの出力は以下のようになります。</p><pre><code>cat
dog
mouse
frog</code></pre><p><strong>注意: </strong>角括弧内の <code>@</code> 記号は、配列の<em>全要素</em>をループしていることを表しています。もし、これを省いて <code>for str in ${myArray}</code> &nbsp;と書くと、配列の最初の文字列だけが表示されます。</p><h3 id="--1">配列のインデックスをループする方法</h3><p>あるいは、配列のインデックスをループできます。これは JavaScript の <code>for</code> &nbsp;ループのようなもので、各要素のインデックスにアクセスしたい場合に便利です。</p><p>この方法を使用するには、以下のようなコードが必要です。</p><pre><code class="language-sh">for i in ${!myArray[@]}; do
  echo "element $i is ${myArray[$i]}"
done</code></pre><p>出力は以下のようになります。</p><pre><code>element 0 is cat
element 1 is dog
element 2 is mouse
element 3 is frog</code></pre><p><strong>注意: </strong>変数 <code>myArray</code> の先頭にある <code>!</code> は、要素そのものではなく、配列の<em>インデックス</em>にアクセスしていることを示しています。これは、<code>!</code> が否定を示すのに慣れていると混乱することがあるので、十分注意してください。</p><p><strong>注意2: </strong>Bash では通常、変数には波括弧が不要ですが、配列には必要です。つまり、配列を参照するときは <code>${myArray}</code> という構文になります。しかし、文字列や数値を参照するときは単に <code>$i</code> というドル記号を使用するだけです。</p><h2 id="--2"><strong>まとめ</strong></h2><p>Bash スクリプトはコマンドラインの動作を自動化するのに便利です。そして、配列は複数のデータを格納するために使用できる素晴らしいツールです。</p><p>宣言して使用することは難しくありませんが、他の言語とは異なるので、間違えないように細心の注意を払いましょう。</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ JavaScript で配列をクローンする方法 ]]>
                </title>
                <description>
                    <![CDATA[ JavaScript では何をするにも様々なやり方があります。以前 JavaScript で pipe/compose を書く 10 の方法 [https://www.freecodecamp.org/news/10-ways-to-write-pipe-compose-in-javascript-f6d54c575616/] についての記事を書きましたが、今回は配列について説明します。 1. スプレッド構文 (シャローコピー) ES6 が公開されて以来、これが最も人気のある方法です。簡潔な構文で、React や Redux のようなライブラリを使うときにその便利さがわかるでしょう。 numbers = [1, 2, 3]; numbersCopy = [...numbers]; 注意: この方法は多次元配列を安全にコピーするものではありません。要素が配列やオブジェクトの場合、値ではなく、参照によってコピーされます。 こちらは問題がありません。 numbersCopy.push(4); console.log(numbers, numbersCopy); // [1, 2, ]]>
                </description>
                <link>https://www.freecodecamp.org/japanese/news/how-to-clone-an-array-in-javascript-1d3183468f6a/</link>
                <guid isPermaLink="false">6321f2b587a3a3073e97f08a</guid>
                
                    <category>
                        <![CDATA[ JavaScript ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Mell ]]>
                </dc:creator>
                <pubDate>Wed, 02 Nov 2022 23:30:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/japanese/news/content/images/2022/09/1_fWhAxeITIQaYWeqE7wogkQ.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>原文:</strong> <a href="https://www.freecodecamp.org/news/how-to-clone-an-array-in-javascript-1d3183468f6a/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to clone an array in JavaScript</a>
      </p><p>JavaScript では何をするにも様々なやり方があります。以前 <a href="https://www.freecodecamp.org/news/10-ways-to-write-pipe-compose-in-javascript-f6d54c575616/">JavaScript で pipe/compose を書く 10 の方法</a>についての記事を書きましたが、今回は配列について説明します。</p><h3 id="1-"><strong><strong>1. </strong></strong>スプレッド構文 (シャローコピー)</h3><p>ES6 が公開されて以来、これが最も人気のある方法です。簡潔な構文で、React や Redux のようなライブラリを使うときにその便利さがわかるでしょう。</p><pre><code class="language-js">numbers = [1, 2, 3];
numbersCopy = [...numbers];
</code></pre><p><strong>注意: </strong>この方法は多次元配列を安全にコピーするものではありません。要素が配列やオブジェクトの場合、<em>値</em>ではなく、<em>参照</em>によってコピーされます。</p><p>こちらは問題がありません。</p><pre><code class="language-js">numbersCopy.push(4);
console.log(numbers, numbersCopy);
// [1, 2, 3] and [1, 2, 3, 4]
// numbers 配列はそのままです。
</code></pre><p>こちらは問題があります。</p><pre><code class="language-js">nestedNumbers = [[1], [2]];
numbersCopy = [...nestedNumbers];

numbersCopy[0].push(300);
console.log(nestedNumbers, numbersCopy);
// [[1, 300], [2]]
// [[1, 300], [2]]
// 両方の配列内の数値が変化しました。どちらも同じ参照を共有しているからです。
</code></pre><h3 id="2-for-"><strong><strong>2. </strong></strong>古き良き for() ループ (シャローコピー)</h3><p>関数型プログラミングが流行っていることを考えると、これは１番人気がない方法でしょう。</p><p>純粋型でも非純粋型でも、宣言型でも命令型でも実行できます。</p><pre><code class="language-js">numbers = [1, 2, 3];
numbersCopy = [];

for (i = 0; i &lt; numbers.length; i++) {
  numbersCopy[i] = numbers[i];
}
</code></pre><p><strong>注意: </strong>この方法は多次元配列を安全にコピーするものではありません。<code>=</code> &nbsp;演算子を使っているので、配列やオブジェクトについては<em>値</em>ではなく、<em>参照</em>がコピーされます。</p><p>こちらは問題がありません。</p><pre><code class="language-js">numbersCopy.push(4);
console.log(numbers, numbersCopy);
// [1, 2, 3] and [1, 2, 3, 4]
// numbers 配列はそのままです。
</code></pre><p>こちらは問題があります。</p><pre><code class="language-js">nestedNumbers = [[1], [2]];
numbersCopy = [];

for (i = 0; i &lt; nestedNumbers.length; i++) {
  numbersCopy[i] = nestedNumbers[i];
}

numbersCopy[0].push(300);
console.log(nestedNumbers, numbersCopy);
// [[1, 300], [2]]
// [[1, 300], [2]]
// 両方の配列内の数値が変化しました。どちらも同じ参照を共有しているからです。
</code></pre><h3 id="3-while-"><strong><strong>3. </strong></strong>古き良き while() ループ (シャローコピー)</h3><p><code>for</code> と同じく、純粋型でも非純粋型でも、なんとかかんとか…とにかく動きます！</p><pre><code class="language-js">numbers = [1, 2, 3];
numbersCopy = [];
i = -1;

while (++i &lt; numbers.length) {
  numbersCopy[i] = numbers[i];
}
</code></pre><p><strong>注意: </strong>この方法も、配列やオブジェクトについては<em>値</em>ではなく<em>参照</em>がコピーされます。</p><p>こちらは問題がありません。</p><pre><code class="language-js">numbersCopy.push(4);
console.log(numbers, numbersCopy);
// [1, 2, 3] and [1, 2, 3, 4]
// numbers 配列はそのままです。
</code></pre><p>こちらは問題があります。</p><pre><code class="language-js">nestedNumbers = [[1], [2]];
numbersCopy = [];

i = -1;

while (++i &lt; nestedNumbers.length) {
  numbersCopy[i] = nestedNumbers[i];
}

numbersCopy[0].push(300);
console.log(nestedNumbers, numbersCopy);
// [[1, 300], [2]]
// [[1, 300], [2]]
// 両方の配列内の数値が変化しました。どちらも同じ参照を共有しているからです。
</code></pre><h3 id="4-array-map-"><strong><strong>4. </strong></strong>Array.map (シャローコピー)</h3><p>現代の分野に戻ると、<code>map</code> &nbsp;関数があります。<code>map</code> とは、<a href="https://ja.wikipedia.org/wiki/%E5%B0%84_(%E5%9C%8F%E8%AB%96)">数学用語に由来し</a>、ある集合の構造を保ったまま別の種類の集合に変換する概念です。</p><p>平易な言葉で言うと、つまり <code>Array.map</code> は毎回同じ長さの配列を返すということです。</p><p>数値のリストを 2 倍にするには、<code>map</code> と <code>double</code> 関数を使用します。</p><pre><code class="language-js">numbers = [1, 2, 3];
double = (x) =&gt; x * 2;

numbers.map(double);
</code></pre><h4 id="-">クローンするんじゃなかったの？？</h4><p>そうですね、この記事は配列のクローンについてです。配列を複製するには、呼び出された <code>map</code> 関数の中で、その要素をそのまま返します。</p><pre><code class="language-js">numbers = [1, 2, 3];
numbersCopy = numbers.map((x) =&gt; x);
</code></pre><p>もう少し数学的に言うと、<code>(x) =&gt; x</code> は<a href="https://en.wikipedia.org/wiki/Identity_function">恒等関数</a>と呼ばれます。これは与えられたパラメータが何であれ、それを返します。</p><p><code>map(identity)</code> はリストのクローンを作成します。</p><pre><code class="language-js">identity = (x) =&gt; x;
numbers.map(identity);
// [1, 2, 3]
</code></pre><p><strong>注意: </strong>この方法も、配列やオブジェクトについては<em>値</em>ではなく<em>参照</em>がコピーされます。</p><h3 id="5-array-filter-"><strong><strong>5. </strong></strong>Array.filter (シャローコピー)</h3><p>この関数は <code>map</code> と同じように配列を返しますが、同じ長さであることは保証されません。</p><p>もし偶数の値をフィルターする場合、どうなるでしょうか？</p><pre><code class="language-js">[1, 2, 3].filter((x) =&gt; x % 2 === 0);
// [2]
</code></pre><p>入力された配列の長さは 3 でしたが、結果の長さは 1 です。</p><p>しかし <code>filter</code> の条件式が常に <code>true</code> を返すようにすれば、配列を複製できます！</p><pre><code class="language-js">numbers = [1, 2, 3];
numbersCopy = numbers.filter(() =&gt; true);
</code></pre><p>どの要素もテストに合格しているので、そのまま返されます。</p><p><strong>注意: </strong>この方法も、配列やオブジェクトについては<em>値</em>ではなく<em>参照</em>がコピーされます。</p><h3 id="6-array-reduce-"><strong><strong>6. </strong></strong>Array.reduce (シャローコピー)</h3><p>本来 <code>reduce</code> は遥かに強力なことができるので、配列のクローンを作成するためだけに使うのは心苦しく感じます。でも、やってみましょう。</p><pre><code class="language-js">numbers = [1, 2, 3];

numbersCopy = numbers.reduce((newArray, element) =&gt; {
  newArray.push(element);

  return newArray;
}, []);
</code></pre><p><code>reduce</code> は、リストをループしながら初期値を変更します。</p><p>ここでは、初期値は空の配列で、その中に各要素を詰めていきます。この配列は、次の反復処理で使用するために関数から返されなければなりません。</p><p><strong>注意: </strong>この方法も、配列やオブジェクトについては<em>値</em>ではなく<em>参照</em>がコピーされます。</p><h3 id="7-array-slice-"><strong><strong>7. </strong></strong>Array.slice (シャローコピー)</h3><p><code>slice</code> は、指定した開始 / 終了インデックスに基づいて、配列のシャローコピーを返します。</p><p>もし、最初の 3 つの要素が必要な場合は次のとおりです。</p><pre><code class="language-js">[1, 2, 3, 4, 5].slice(0, 3);
// [1, 2, 3]
// Starts at index 0, stops at index 3
</code></pre><p>すべての要素が欲しい場合は、パラメータを指定しないでください。</p><pre><code class="language-js">numbers = [1, 2, 3, 4, 5];
numbersCopy = numbers.slice();
// [1, 2, 3, 4, 5]
</code></pre><p><strong>注意: </strong>これはシャローコピーです。つまり、この方法も、配列やオブジェクトについては<em>値</em>ではなく<em>参照</em>がコピーされます。</p><h3 id="8-json-parse-json-stringify-"><strong><strong>8. JSON.parse と JSON.stringify (</strong></strong>ディープコピー<strong><strong>)</strong></strong></h3><p><code>JSON.stringify</code> はオブジェクトを文字列に変換します。</p><p><code>JSON.parse</code> は文字列をオブジェクトに変換します。</p><p>これらを組み合わせて、オブジェクトを文字列に変換し、それから逆の操作をすることで、データ構造を新しく作成できます。</p><p><strong>注意: この方法であれば、深くネストしたオブジェクトや配列を安全にコピーできます！</strong></p><pre><code class="language-js">nestedNumbers = [[1], [2]];
numbersCopy = JSON.parse(JSON.stringify(nestedNumbers));

numbersCopy[0].push(300);
console.log(nestedNumbers, numbersCopy);

// [[1], [2]]
// [[1, 300], [2]]
// この 2 つの配列は完全に分離されています！
</code></pre><h3 id="9-array-concat-"><strong><strong>9. Array.concat (</strong></strong>シャローコピー<strong><strong>)</strong></strong></h3><p><code>concat</code> は、配列を値や他の配列と結合します。</p><pre><code class="language-js">[1, 2, 3].concat(4); // [1, 2, 3, 4]
[1, 2, 3].concat([4, 5]); // [1, 2, 3, 4, 5]
</code></pre><p>何も指定しなかったり、空の配列を指定した場合は、シャローコピーが返されます。</p><pre><code class="language-js">[1, 2, 3].concat(); // [1, 2, 3]
[1, 2, 3].concat([]); // [1, 2, 3]
</code></pre><p><strong>注意: </strong>この方法も、配列やオブジェクトについては<em>値</em>ではなく<em>参照</em>がコピーされます。</p><h3 id="10-array-from-"><strong><strong>10. Array.from (</strong></strong>シャローコピー<strong><strong>)</strong></strong></h3><p>これは、任意の反復可能なオブジェクトを配列に変換することができます。配列を渡すと、シャローコピーが返されます。</p><pre><code class="language-js">numbers = [1, 2, 3];
numbersCopy = Array.from(numbers);
// [1, 2, 3]
</code></pre><p><strong>注意: </strong>この方法も、配列やオブジェクトについては<em>値</em>ではなく<em>参照</em>がコピーされます。</p><h3 id="--1">結論</h3><p>楽しんでいただけましたか？</p><p>今回は 1 ステップで配列をクローンする方法を紹介しました。複数のメソッドやテクニックを使えば、もっといろいろな方法が見つかるはずです。</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ JavaScript Map – JS .map() メソッドの使用方法 (配列のメソッド) ]]>
                </title>
                <description>
                    <![CDATA[ 配列の要素に何かしらの処理を適用して、要素を変更した新しい配列を取得したい場合があります。 ループを使って繰り返し処理をわざわざ書く代わりに、標準で用意されている Array.map() メソッドを使うことができます。 Array.map()  メソッドを使用すると、コールバック関数を使用して配列に反復処理を行い、その要素を変更できます。コールバック関数は、配列の各要素に対して実行されます。 例えば、以下のような要素を持った配列があります。 let arr = [3, 4, 5, 6]; シンプルな JavaScript の配列そして、配列の各要素に対して、3 を掛ける必要があるとします。for を使用して、以下のようなループ処理を行うことを考えるかもしれません。 let arr = [3, 4, 5, 6]; for (let i = 0; i < arr.length; i++){   arr[i] = arr[i] * 3; } console.log(arr); // [9, 12, 15, 18] ]]>
                </description>
                <link>https://www.freecodecamp.org/japanese/news/javascript-map-how-to-use-the-js-map-function-array-method/</link>
                <guid isPermaLink="false">631d672587a3a3073e97e6ad</guid>
                
                    <category>
                        <![CDATA[ JavaScript ]]>
                    </category>
                
                    <category>
                        <![CDATA[ PROGRAMMING ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Mell ]]>
                </dc:creator>
                <pubDate>Wed, 14 Sep 2022 12:35:16 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/japanese/news/content/images/2022/09/javascript-map-function.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>原文:</strong> <a href="https://www.freecodecamp.org/news/javascript-map-how-to-use-the-js-map-function-array-method/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">JavaScript Map – How to Use the JS .map() Function (Array Method)</a>
      </p><p>配列の要素に何かしらの処理を適用して、要素を変更した新しい配列を取得したい場合があります。</p><p>ループを使って繰り返し処理をわざわざ書く代わりに、標準で用意されている <code>Array.map()</code> メソッドを使うことができます。</p><p><code>Array.map()</code> メソッドを使用すると、コールバック関数を使用して配列に反復処理を行い、その要素を変更できます。コールバック関数は、配列の各要素に対して実行されます。</p><p>例えば、以下のような要素を持った配列があります。</p><figure class="kg-card kg-code-card"><pre><code class="language-js">let arr = [3, 4, 5, 6];</code></pre><figcaption>シンプルな JavaScript の配列</figcaption></figure><p>そして、配列の各要素に対して、<code>3</code> を掛ける必要があるとします。<code>for</code> を使用して、以下のようなループ処理を行うことを考えるかもしれません。</p><figure class="kg-card kg-code-card"><pre><code class="language-js">let arr = [3, 4, 5, 6];

for (let i = 0; i &lt; arr.length; i++){
  arr[i] = arr[i] * 3;
}

console.log(arr); // [9, 12, 15, 18]</code></pre><figcaption>for ループを使用して、配列の反復処理を行う</figcaption></figure><p>しかし、実は <code>Array.map()</code> メソッドを使用して、同じ結果を取得できます。以下に例を記載します。</p><figure class="kg-card kg-code-card"><pre><code class="language-js">let arr = [3, 4, 5, 6];

let modifiedArr = arr.map(function(element){
    return element *3;
});

console.log(modifiedArr); // [9, 12, 15, 18]</code></pre><figcaption>map() メソッドを使用して、配列の反復処理を行う</figcaption></figure><p><code>Array.map()</code> メソッドは、要素に対して変更を適用するためによく使用されます。上記コードのように、特定の数字を掛けることもできますし、自身のアプリに応じて必要な処理を行うこともできます。</p><h2 id="-map-">オブジェクトの配列に対して map() メソッドを使用する方法</h2><p>例えば、以下のように友達の <code>firstName</code> と <code>lastName</code> を値に持つオブジェクトの配列があるとします。</p><figure class="kg-card kg-code-card"><pre><code class="language-js">let users = [
  {firstName : "Susan", lastName: "Steward"},
  {firstName : "Daniel", lastName: "Longbottom"},
  {firstName : "Jacob", lastName: "Black"}
];

</code></pre><figcaption>オブジェクトの配列</figcaption></figure><p>以下のように、<code>map()</code> メソッドを使用して、配列をループし、<code>firstName</code> と &nbsp;<code>lastName</code> の値を結合できます。</p><figure class="kg-card kg-code-card"><pre><code class="language-js">let users = [
  {firstName : "Susan", lastName: "Steward"},
  {firstName : "Daniel", lastName: "Longbottom"},
  {firstName : "Jacob", lastName: "Black"}
];

let userFullnames = users.map(function(element){
    return `${element.firstName} ${element.lastName}`;
})

console.log(userFullnames);
// ["Susan Steward", "Daniel Longbottom", "Jacob Black"]</code></pre><figcaption>map() メソッドを使用して、オブジェクトの配列の反復処理を行う</figcaption></figure><p><code>map()</code> メソッドでは、要素以外の値も使用できます。<code>map()</code> メソッドによってコールバック関数に渡される全ての引数を確認していきましょう。</p><h2 id="map-">map() メソッドの引数を省略しない構文</h2><p> <code>map()</code> メソッドの構文は以下のようになります。</p><pre><code class="language-js">arr.map(function(element, index, array){  }, this);</code></pre><p>コールバック関数である <code>function()</code> が配列の各要素に呼ばれます。<code>map()</code> メソッドは引数に、現在処理している要素の値である <code>element</code>、添字である <code>index</code>、また処理を実行している配列自体である <code>array</code> を渡します。</p><p>引数 <code>this</code> はコールバック関数の中で使用されます。デフォルトでは、その値は &nbsp;<code>undefined</code> となっています。</p><p>例えば、<code>this</code> の値を数値 <code>80</code> に変更する方法を以下に記載します。</p><figure class="kg-card kg-code-card"><pre><code class="language-js">let arr = [2, 3, 5, 7]

arr.map(function(element, index, array){
	console.log(this) // 80
}, 80);</code></pre><figcaption>map() メソッドの引数 this に、数値を代入する</figcaption></figure><p><code>console.log()</code> を使用して、他の引数の確認もできます。</p><figure class="kg-card kg-code-card"><pre><code class="language-js">let arr = [2, 3, 5, 7]

arr.map(function(element, index, array){
    console.log(element);
    console.log(index);
    console.log(array);
    return element;
}, 80);</code></pre><figcaption>値を確認するために、引数をログを出力する</figcaption></figure><p>以上が <code>Array.map()</code> メソッドに関する必要な情報です。大抵、コールバック関数で使用される引数は <code>element</code> だけで、残りの引数は省略されることが多くあります。私が普段取り組んでいるプロジェクトでもそうなっています。</p><h2 id="-">このチュートリアルをお読みくださりありがとうございます。</h2><p>私が書いた他の JavaScript チュートリアル <a href="https://sebhastian.com/javascript-sum-array-objects/" rel="noopener noreferrer">how to sum an array of objects</a> (配列のオブジェクトの値を足す方法) や <a href="https://sebhastian.com/palindrome-javascript/" rel="noopener noreferrer">methods to find a palindrome string</a> (回文の文字列を探すためのメソッド) も役に立つかもしれません。これらは、JavaScript でたびたび質問される問題に関する記事です。</p><p>また、Web 開発のチュートリアル (主に JavaScript 関連) について<a href="https://sebhastian.com/newsletter/" rel="noopener noreferrer">無料ニュースレター</a>を配信しています。</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Ubuntu に Node.js をインストールし、npm を最新バージョンに更新する方法 ]]>
                </title>
                <description>
                    <![CDATA[ ※この記事は 2020 年 6 月時点の内容になっています。 apt パッケージマネージャを使って最新版の Node.js をインストールしようとすると、v10.19.0 になってしまいます。これは Ubuntu App Store にある最新版ですが、Node.js の最新版ではありません。 これは、あるソフトウェアの新バージョンがリリースされた場合、Ubuntu チームがテストして、公式の Ubuntu App Store でリリースするまで数ヶ月かかることがあるためです。その結果、どんなソフトウェアでも最新版を入手するためには、開発者が公開しているプライベートパッケージを使用しなければならない場合があります。 このチュートリアルでは、Node.js の v12.18.1 (LTS - Long Term Support: 長期サポート) または v14.4  のいずれかを取得します。最新版を取得するには、NodeSource または nvm (Node Version Manager) のいずれかを使用することができます。両方の使い方を紹介します。 ここでのコマンドはすべ ]]>
                </description>
                <link>https://www.freecodecamp.org/japanese/news/how-to-install-node-js-on-ubuntu-and-update-npm-to-the-latest-version/</link>
                <guid isPermaLink="false">621f83217e520d051a27fb12</guid>
                
                    <category>
                        <![CDATA[ Node.js ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Ubuntu ]]>
                    </category>
                
                    <category>
                        <![CDATA[ npm ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Mell ]]>
                </dc:creator>
                <pubDate>Sun, 20 Mar 2022 23:30:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/japanese/news/content/images/2022/03/node-npm-ubuntu-cover.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>原文:</strong> <a href="https://www.freecodecamp.org/news/how-to-install-node-js-on-ubuntu-and-update-npm-to-the-latest-version/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to Install Node.js on Ubuntu and Update npm to the Latest Version</a>
      </p><p>※この記事は 2020 年 6 月時点の内容になっています。</p><p>apt パッケージマネージャを使って最新版の Node.js をインストールしようとすると、<strong>v10.19.0</strong> になってしまいます。これは Ubuntu App Store にある最新版ですが、Node.js の最新版ではありません。</p><p>これは、あるソフトウェアの新バージョンがリリースされた場合、Ubuntu チームがテストして、公式の Ubuntu App Store でリリースするまで数ヶ月かかることがあるためです。その結果、どんなソフトウェアでも最新版を入手するためには、開発者が公開しているプライベートパッケージを使用しなければならない場合があります。</p><p>このチュートリアルでは、Node.js の <strong>v12.18.1</strong> (LTS - Long Term Support: 長期サポート) または<strong> v14.4</strong> のいずれかを取得します。最新版を取得するには、<strong>NodeSource</strong> または <strong>nvm</strong> (Node Version Manager) のいずれかを使用することができます。両方の使い方を紹介します。</p><p>ここでのコマンドはすべて Ubuntu の CLI (ターミナル) を使用して実行されます。</p><h2 id="nvm-">NVM の使用 - 私が推奨する方法</h2><p>nvm を使用すると、プロジェクトごとに異なるバージョンの Node.js を使うことができるので気に入っています。</p><p>時には、異なるバージョンの Node.js を使っている人とプロジェクトで共同作業をしていて、プロジェクトで使われている Node.js のバージョンに切り替える必要があるかもしれません。そのような際、nvm は最適なツールです。</p><h2 id="nvm--1">NVM のインストール</h2><p><code>curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash</code></p><p>nvm がインストールされているか確認するには、<code>nvm --version</code> と入力します。 <code>0.35.3</code> のようなバージョンの番号が返ってくれば、nvm は正常にインストールされています。</p><p><strong>変更内容を反映するために、ターミナルを再起動してください。</strong></p><h2 id="nodejs-">NodeJSのインストール</h2><p>次に、バージョン 14.4 の Node.js をインストールしましょう。</p><p><code>nvm install 14.4.0</code> と実行するだけです。</p><p>同様のコマンドを使用し、任意のバージョンの Node.js をインストールすることもできます。(例: <code>nvm install 12.18.1</code>)</p><p>このコマンドは <strong>Node.js</strong> と最新の <strong>npm </strong>バージョン (<code>v6.14.5</code>) を自動的にインストールします。</p><p>Node.js のバージョンを切り替える必要がある場合は、<code>nvm use &lt;バージョン番号&gt;</code> &nbsp;を実行するだけです (例: <code>nvm use v12.18.1</code>)。</p><p>nvm でインストールした異なるバージョンの Node.js の一覧を表示するには、 <code>nvm ls</code> を実行します。</p><h2 id="nodesource-">NodeSourceのインストール</h2><p>以下のコマンドを実行して、Ubuntu に Node.js をインストールすることを伝えます。パッケージを NodeSource から取得します。</p><p><code>curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -</code></p><p><strong>注意: </strong>v14.4.0 は Node.js の最新バージョンですが、現在 LTS は提供されていません。最新の LTS 版の Node.js をインストールするには、上記のコマンドの <code>14</code> を <code>12</code> に変更してください。</p><p>root ユーザーのパスワードを入力するよう促される場合があります。その場合、入力して Enter を押下してください。</p><h2 id="nodejs--1">NodeJSのインストール</h2><p>NodeSource の設定が終わったら、次は v14.4 の Node.js をインストールします。</p><p><code>sudo apt-get install -y nodejs</code> を実行してください。</p><p>インストールが完了したら、最新バージョンの Node.js がインストールされているか確認します。</p><p>ターミナルに <code>nodejs -v</code> と入力すると、<code>v14.4.0</code> が返ってくるはずです。</p><p>この時点で、npm が自動的にインストールされているはずです。npm のバージョンを確認するには <code>npm version</code> を実行します。npm の最新バージョン 6.14.5 を含むオブジェクトの <code>{ npm: '6.14.5' }</code> が表示されない場合は、以下のコマンドを実行して、手動で npm を更新することができます。</p><p><code>npm install -g npm@latest</code></p><p>npm がインストールされていないためにアップデートできないという問題が発生した場合は、<code>sudo apt-get install -y npm</code> で先に npm をインストールした後、上記のコマンドを実行してアップデートすることが可能です。</p><p>また、ある種の npm パッケージを実行するためには、以下のコマンドも実行する必要があります。</p><p><code>sudo apt install build-essential</code></p><p>以上です。</p><p>これであなたの Ubuntu 環境に最新バージョンの Node.js と NPM がインストールされた状態になりました。</p><p>素晴らしい作品を作ってください 😊</p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
