見出し画像

Java Scriptの基礎その21 配列操作の基本


イントロダクション

JavaScriptの配列は、データを操作するための非常に強力なツールです。この記事では、代表的な配列操作メソッドを使用して、どのように配列を操作するかを丁寧に解説します。具体的には、slice、splice、reverse、concat、join、at、およびforEachについて学びます。各メソッドの使い方とその結果を例を交えて説明するので、初心者の方にも理解しやすい内容となっています。

配列のスライス: sliceメソッド

sliceメソッドの基本

sliceメソッドは、配列の一部を抽出して新しい配列を作成します。元の配列は変更されません。

let arraySample_1 = ["a", "b", "c", "d", "e"];
console.log(arraySample_1);  // ["a", "b", "c", "d", "e"]
console.log(arraySample_1.slice(2));  // ["c", "d", "e"]
console.log(arraySample_1.slice(2, 4));  // ["c", "d"]
console.log(arraySample_1.slice(-2));  // ["d", "e"]
console.log(arraySample_1.slice(2, -1));  // ["c", "d"]
console.log([...arraySample_1]);  // ["a", "b", "c", "d", "e"]

sliceの使用例

• slice(2)は、インデックス2から最後までの要素を抽出します。
• slice(2, 4)は、インデックス2から3までの要素を抽出します。
• slice(-2)は、後ろから2つの要素を抽出します。

配列の操作: spliceメソッド

spliceメソッドの基本

spliceメソッドは、配列の内容を変更するために使用されます。特定の位置から要素を削除、追加することができます。

console.log(arraySample_1);  // ["a", "b", "c", "d", "e"]
console.log(arraySample_1.splice(-1));  // ["e"]
console.log(arraySample_1);  // ["a", "b", "c", "d"]
console.log(arraySample_1.splice(1, 2));  // ["b", "c"]
console.log(arraySample_1);  // ["a", "d"]

spliceの使用例

• splice(-1)は、最後の要素を削除します。
• splice(1, 2)は、インデックス1から2つの要素を削除します。

配列の反転: reverseメソッド

reverseメソッドの基本

reverseメソッドは、配列の要素の順序を反転させます。元の配列も変更されます。

let arraySample_2 = ["f", "g", "h", "i", "j"];
console.log(arraySample_2);  // ["f", "g", "h", "i", "j"]
console.log(arraySample_2.reverse());  // ["j", "i", "h", "g", "f"]
console.log(arraySample_2);  // ["j", "i", "h", "g", "f"]

配列の結合: concatメソッド

concatメソッドの基本

concatメソッドは、2つ以上の配列を結合して新しい配列を作成します。

const arrayConcat = arraySample_1.concat(arraySample_2);
console.log(arrayConcat);  // ["a", "d", "j", "i", "h", "g", "f"]
console.log([...arraySample_1, ...arraySample_2]);  // ["a", "d", "j", "i", "h", "g", "f"]

配列の結合: joinメソッド

joinメソッドの基本

joinメソッドは、配列の全要素を文字列として結合します。

console.log(arrayConcat.join("-"));  // "a-d-j-i-h-g-f"

配列のアクセス: atメソッド

atメソッドの基本

atメソッドは、特定のインデックスにある要素を返します。負のインデックスも使用できます。

const arraySample_3 = [11, 26, 57, 74];
console.log(arraySample_3[0]);  // 11
console.log(arraySample_3.at(0));  // 11
console.log(arraySample_3[arraySample_3.length - 1]);  // 74
console.log(arraySample_3.slice(-1)[0]);  // 74
console.log(arraySample_3.at(-1));  // 74
console.log("あゆみ".at(0));  // "あ"
console.log("あゆみ".at(-1));  // "み"

繰り返し処理: forEachメソッド

forEachメソッドの基本

forEachメソッドは、配列の各要素に対して一度ずつ指定された関数を実行します。

const arraySample_4 = [200, -400, -500, 800, -1200, 1800, 2300];
const mapSample_1 = new Map([
  ["USD", "United States Dollar"],
  ["EUR", "Euro"],
  ["JPY", "Japanese Yen"],
]);
const setSample_1 = new Set(["USD", "EUR", "USD", "JPY", "JPY"]);

// 通常の書き方
for (const [i, arrayElement] of arraySample_4.entries()) {
  if (arrayElement > 0) {
    console.log(`Your movement ${i + 1} was ${arrayElement}`);
  } else {
    console.log(`You movement ${i + 1} went back ${Math.abs(arrayElement)}`);
  }
}

// forEachで書いた場合
arraySample_4.forEach(function (arrayElement, i) {
  if (arrayElement > 0) {
    console.log(`Your movement ${i + 1} was ${arrayElement}`);
  } else {
    console.log(`You movement ${i + 1} went back ${Math.abs(arrayElement)}`);
  }
});

// MapをforEach
mapSample_1.forEach(function (value, key, map) {
  console.log(`${key}: ${value}`);
});

// SetをforEach
setSample_1.forEach(function (value, _, map) {
  console.log(`${value}`);
});

まとめ

JavaScriptの配列操作は、効率的で柔軟なデータ処理を可能にします。本記事で紹介したslice、splice、reverse、concat、join、at、forEachメソッドを使いこなすことで、配列操作のスキルを向上させることができます。これらのメソッドを理解し、実際のプロジェクトで活用することで、より効率的なコードを書けるようになるでしょう。

Githubでも公開してるよ!

先ほどのコードはGithubで公開しているよ。
ここ見てね!

この記事が気に入ったらサポートをしてみませんか?