JSチュートリアル

JSホーム JSの紹介 JSどこへ JS出力 JSステートメント JS構文 JSコメント JS変数 JS Let JSConst JSオペレーター JS算術 JS割り当て JSデータ型 JS関数 JSオブジェクト JSイベント JS文字列 JS文字列メソッド JS文字列検索 JS文字列テンプレート JS番号 JS番号メソッド JSアレイ JS配列メソッド JS配列ソート JSアレイの反復 JSアレイ定数 JSの日付 JSの日付形式 JS DateGetメソッド JS日付設定メソッド JS数学 JSランダム JSブール値 JSの比較 JS条件 JSスイッチ JSループFor JSループフォーイン JSループの JSループWhile JSブレイク JSIterables JSセット JSマップ JS Typeof JS型変換 JSビット単位 JS RegExp JSエラー JSスコープ JSホイスト JS厳密モード JSこのキーワード JSアロー関数 JSクラス JS JSON JSデバッグ JSスタイルガイド JSのベストプラクティス JSの間違い JSパフォーマンス JS予約語

JSバージョン

JSバージョン JS 2009(ES5) JS 2015(ES6) JS 2016 JS 2017 JS 2018 JS IE /エッジ JSの歴史

JSオブジェクト

オブジェクト定義 オブジェクトのプロパティ オブジェクトメソッド オブジェクト表示 オブジェクトアクセサー オブジェクトコンストラクター オブジェクトのプロトタイプ オブジェクト反復可能 オブジェクトセット オブジェクトマップ オブジェクトリファレンス

JS関数

関数の定義 関数パラメーター 関数の呼び出し 関数呼び出し 機能適用 関数クロージャ

JSクラス

クラスイントロ クラス継承 クラス静的

JS非同期

JSコールバック JS非同期 JSの約束 JS Async / Await

JS HTML DOM

DOMイントロ DOMメソッド DOMドキュメント DOM要素 DOM HTML DOMフォーム DOM CSS DOMアニメーション DOMイベント DOMイベントリスナー DOMナビゲーション DOMノード DOMコレクション DOMノードリスト

JSブラウザBOM

JSウィンドウ JS画面 JSロケーション JSの歴史 JSナビゲーター JSポップアップアラート JSタイミング JSクッキー

JS Web API

WebAPIイントロ WebフォームAPI Web履歴API WebストレージAPI WebワーカーAPI Web Fetch API Web Geolocation API

JS AJAX

AJAXイントロ AJAX XMLHttp AJAXリクエスト AJAX応答 AJAXXMLファイル AJAX PHP AJAX ASP AJAXデータベース AJAXアプリケーション AJAXの例

JS JSON

JSONイントロ JSON構文 JSONとXML JSONデータ型 JSON解析 JSON文字列化 JSONオブジェクト JSON配列 JSONサーバー JSON PHP JSON HTML JSON JSONP

JSとjQuery

jQueryセレクター jQuery HTML jQuery CSS jQuery DOM

JSグラフィックス

JSグラフィックス JSキャンバス JSPlotly JS Chart.js JSグーグルチャート JS D3.js

JSの例

JSの例 JS HTML DOM JSHTML入力 JSHTMLオブジェクト JSHTMLイベント JSブラウザ JSエディター JS演習 JSクイズ JS証明書

JSリファレンス

JavaScriptオブジェクト HTMLDOMオブジェクト


JavaScript配列の反復


配列反復法は、すべての配列項目で機能します。


JavaScript配列forEach()

このforEach()メソッドは、配列要素ごとに1回関数(コールバック関数)を呼び出します。

const numbers = [45, 4, 9, 16, 25];
let txt = "";
numbers.forEach(myFunction);

function myFunction(value, index, array) {
  txt += value + "<br>";
}

関数は3つの引数を取ることに注意してください。

  • アイテムの値
  • アイテムインデックス
  • アレイ自体

上記の例では、valueパラメーターのみを使用しています。この例は次のように書き直すことができます。

const numbers = [45, 4, 9, 16, 25];
let txt = "";
numbers.forEach(myFunction);

function myFunction(value) {
  txt += value + "<br>";
}

JavaScript配列map()

このmap()メソッドは、各配列要素に対して関数を実行することにより、新しい配列を作成します。

このmap()メソッドは、値のない配列要素に対して関数を実行しません。

このmap()メソッドは元の配列を変更しません。

この例では、各配列値に2を掛けます。

const numbers1 = [45, 4, 9, 16, 25];
const numbers2 = numbers1.map(myFunction);

function myFunction(value, index, array) {
  return value * 2;
}

関数は3つの引数を取ることに注意してください。

  • アイテムの値
  • アイテムインデックス
  • アレイ自体

コールバック関数が値パラメーターのみを使用する場合、インデックスパラメーターと配列パラメーターは省略できます。

const numbers1 = [45, 4, 9, 16, 25];
const numbers2 = numbers1.map(myFunction);

function myFunction(value) {
  return value * 2;
}


JavaScript配列filter()

このfilter()メソッドは、テストに合格した配列要素を含む新しい配列を作成します。

この例では、値が18より大きい要素から新しい配列を作成します。

const numbers = [45, 4, 9, 16, 25];
const over18 = numbers.filter(myFunction);

function myFunction(value, index, array) {
  return value > 18;
}

関数は3つの引数を取ることに注意してください。

  • アイテムの値
  • アイテムインデックス
  • アレイ自体

上記の例では、コールバック関数はインデックスと配列のパラメーターを使用しないため、省略できます。

const numbers = [45, 4, 9, 16, 25];
const over18 = numbers.filter(myFunction);

function myFunction(value) {
  return value > 18;
}

JavaScript配列reduce()

このreduce()メソッドは、各配列要素に対して関数を実行して、単一の値を生成(縮小)します。

このreduce()メソッドは、配列内で左から右に機能します。も参照してくださいreduceRight()

このreduce()メソッドは元の配列を縮小しません。

この例では、配列内のすべての数値の合計を求めます。

const numbers = [45, 4, 9, 16, 25];
let sum = numbers.reduce(myFunction);

function myFunction(total, value, index, array) {
  return total + value;
}

関数は4つの引数を取ることに注意してください。

  • 合計(初期値/以前の戻り値)
  • アイテムの値
  • アイテムインデックス
  • アレイ自体

上記の例では、インデックスパラメータと配列パラメータを使用していません。次のように書き直すことができます。

const numbers = [45, 4, 9, 16, 25];
let sum = numbers.reduce(myFunction);

function myFunction(total, value) {
  return total + value;
}

メソッドはreduce()初期値を受け入れることができます:

const numbers = [45, 4, 9, 16, 25];
let sum = numbers.reduce(myFunction, 100);

function myFunction(total, value) {
  return total + value;
}

JavaScript配列reduceRight()

このreduceRight()メソッドは、各配列要素に対して関数を実行して、単一の値を生成(縮小)します。

reduceRight()配列内で右から左に動作しますも参照してくださいreduce()

このreduceRight()メソッドは元の配列を縮小しません。

この例では、配列内のすべての数値の合計を求めます。

const numbers = [45, 4, 9, 16, 25];
let sum = numbers1.reduceRight(myFunction);

function myFunction(total, value, index, array) {
  return total + value;
}

関数は4つの引数を取ることに注意してください。

  • 合計(初期値/以前の戻り値)
  • アイテムの値
  • アイテムインデックス
  • アレイ自体

上記の例では、インデックスパラメータと配列パラメータを使用していません。次のように書き直すことができます。

const numbers = [45, 4, 9, 16, 25];
let sum = numbers1.reduceRight(myFunction);

function myFunction(total, value) {
  return total + value;
}

JavaScript配列every()

このevery()メソッドは、すべての配列値がテストに合格するかどうかをチェックします。

この例では、すべての配列値が18より大きいかどうかを確認します。

const numbers = [45, 4, 9, 16, 25];
let allOver18 = numbers.every(myFunction);

function myFunction(value, index, array) {
  return value > 18;
}

関数は3つの引数を取ることに注意してください。

  • アイテムの値
  • アイテムインデックス
  • アレイ自体

コールバック関数が最初のパラメーター(値)のみを使用する場合、他のパラメーターは省略できます。

const numbers = [45, 4, 9, 16, 25];
let allOver18 = numbers.every(myFunction);

function myFunction(value) {
  return value > 18;
}

JavaScript配列some()

このsome()メソッドは、いくつかの配列値がテストに合格するかどうかをチェックします。

この例では、一部の配列値が18より大きいかどうかを確認します。

const numbers = [45, 4, 9, 16, 25];
let someOver18 = numbers.some(myFunction);

function myFunction(value, index, array) {
  return value > 18;
}

関数は3つの引数を取ることに注意してください。

  • アイテムの値
  • アイテムインデックス
  • アレイ自体

JavaScript配列indexOf()

このindexOf()メソッドは、配列で要素値を検索し、その位置を返します。

注:最初の項目の位置は0、2番目の項目の位置は1というように続きます。

配列でアイテム「Apple」を検索します。

const fruits = ["Apple", "Orange", "Apple", "Mango"];
let position = fruits.indexOf("Apple") + 1;

構文

array.indexOf(item, start)
item Required. The item to search for.
start Optional. Where to start the search. Negative values will start at the given position counting from the end, and search to the end.

Array.indexOf() アイテムが見つからない場合は-1を返します。

アイテムが複数回存在する場合、最初に出現した位置を返します。


JavaScript配列lastIndexOf()

Array.lastIndexOf()と同じですArray.indexOf()が、指定された要素の最後の出現位置を返します。

配列でアイテム「Apple」を検索します。

const fruits = ["Apple", "Orange", "Apple", "Mango"];
let position = fruits.lastIndexOf("Apple") + 1;

構文

array.lastIndexOf(item, start)
item Required. The item to search for
start Optional. Where to start the search. Negative values will start at the given position counting from the end, and search to the beginning

JavaScript配列find()

このfind()メソッドは、テスト関数に合格した最初の配列要素の値を返します。

この例では、18より大きい最初の要素を検索(の値を返します)します。

const numbers = [4, 9, 16, 25, 29];
let first = numbers.find(myFunction);

function myFunction(value, index, array) {
  return value > 18;
}

関数は3つの引数を取ることに注意してください。

  • アイテムの値
  • アイテムインデックス
  • アレイ自体

ブラウザのサポート

find()ES6の機能(JavaScript 2015)です。

最新のすべてのブラウザでサポートされています。

Chrome Edge Firefox Safari Opera
Yes Yes Yes Yes Yes

find()InternetExplorerではサポートされていません。


JavaScript配列findIndex()

このfindIndex()メソッドは、テスト関数に合格した最初の配列要素のインデックスを返します。

この例では、18より大きい最初の要素のインデックスを検索します。

const numbers = [4, 9, 16, 25, 29];
let first = numbers.findIndex(myFunction);

function myFunction(value, index, array) {
  return value > 18;
}

関数は3つの引数を取ることに注意してください。

  • アイテムの値
  • アイテムインデックス
  • アレイ自体

ブラウザのサポート

findIndex()ES6の機能(JavaScript 2015)です。

最新のすべてのブラウザでサポートされています。

Chrome Edge Firefox Safari Opera
Yes Yes Yes Yes Yes

findIndex()InternetExplorerではサポートされていません。




JavaScript Array.from()

このArray.from()メソッドは、lengthプロパティを持つ任意のオブジェクトまたは任意の反復可能なオブジェクトからArrayオブジェクトを返します。

文字列から配列を作成します。

Array.from("ABCDEFG");

ブラウザのサポート

from()ES6の機能(JavaScript 2015)です。

最新のすべてのブラウザでサポートされています。

Chrome Edge Firefox Safari Opera
Yes Yes Yes Yes Yes

from()InternetExplorerではサポートされていません。


JavaScript配列キー()

このArray.keys()メソッドは、配列のキーを含むArrayIteratorオブジェクトを返します。

Create an Array Iterator object, containing the keys of the array:

const fruits = ["Banana", "Orange", "Apple", "Mango"];
const keys = fruits.keys();

for (let x of keys) {
  text += x + "<br>";
}

Browser Support

keys() is an ES6 feature (JavaScript 2015).

It is supported in all modern browsers:

Chrome Edge Firefox Safari Opera
Yes Yes Yes Yes Yes

keys() is not supported in Internet Explorer.


JavaScript Array includes()

ECMAScript 2016 introduced Array.includes() to arrays. This allows us to check if an element is present in an array (including NaN, unlike indexOf).

Example

const fruits = ["Banana", "Orange", "Apple", "Mango"];

fruits.includes("Mango"); // is true

Syntax

array.includes(search-item)

Array.includes() allows to check for NaN values. Unlike Array.indexOf().

Array.includes() is not supported in Internet Explorer and Edge 12/13.

The first browser versions with full support are:


Browser Support

includes() is an ECMAScript 2016 feature.

It is supported in all modern browsers:

Chrome Edge Firefox Safari Opera
Yes Yes Yes Yes Yes

includes() is not supported in Internet Explorer.


Complete Array Reference

For a complete Array reference, go to our:

Complete JavaScript Array Reference.

The reference contains descriptions and examples of all Array properties and methods.