宇野  和也

宇野 和也

1636759140

JavaScriptで配列に特定のアイテムが含まれているかどうかを確認する

JavaScriptには組み込みの配列contains()関数はありません。配列に特定の項目が含まれているかどうかを確認するには、配列includes()関数を使用します。

JavaScript配列に含まれるもの

JavaScript配列にアイテムが含まれているかどうかを確認するには、配列includes()メソッドを使用します。JavaScript配列includes()は、配列に指定された要素が含まれているかどうかをチェックする組み込みメソッドです。JavaScriptのincludes()メソッドは、配列に要素が含まれている場合にtrueを返します。それ以外の場合は、falseを返し ます。

JavaScript配列を理解するincludes()

JavaScriptのincludes()メソッドは、配列にエントリ内の特定の要素が含まれるかどうかを制限し、必要に応じてtrueまたはfalseを返します

構文

array.includes(element, start)

パラメーター

要素が 必要なパラメータであり、そして検索する要素です。

 

開始は 、そのデフォルト値である0アレイ内の位置から検索を開始するためのオプションのパラメータです。

戻り値

含む()メソッドは、ブール値を返します。

 

JavaScriptに含まれる配列の例

次のコードを参照してください。

// app.js

let dark = ['Jonas', 'Martha', 'Mikkel', 'Ulrich', 'Adam', 'Eva']
console.log(dark.includes('Adam'))

出力

true

つまり、アダム暗い 配列の中にいて、そこにいるということです。それでは、アイテムが配列に存在しない状態を見てみましょう。

// app.js

let dark = ['Jonas', 'Martha', 'Mikkel', 'Ulrich', 'Adam', 'Eva']
console.log(dark.includes('Claudia'))

出力

false

2番目の引数を渡す

開始パラメーターが配列の長さ以上の場合、false が返されます。配列は検索されません。

// app.js

let dark = ['Jonas', 'Martha', 'Mikkel', 'Ulrich', 'Adam', 'Eva']
console.log(dark.includes('Jonas', 6))

出力

false

このコードでは、インタプリタは配列にないインデックス6でJonasの検索を開始しますそのため、falseが返され ます。

開始位置を指定した場合にのみカウントされ、その要素が見つかった場合はtrueを返し ます。

引数を渡さない

include()関数に 引数を渡さないと、  falseが返され ます。

// app.js

let dark = ['Jonas', 'Martha', 'Mikkel', 'Ulrich', 'Adam', 'Eva']
console.log(dark.includes())

出力

false

探しているアイテムのパスがわからなかったので、trueを返します。

Javascript配列にオブジェクトが含まれています

Javascript配列に、指定された値と等しい属性を持つオブジェクトが含まれているかどうかを確認するための組み込みメソッドはありません。配列オブジェクトが含まれていることを確認するロジックを作成する必要があります。

// app.js

let dark = [
  {
    name: 'Jonas',
    friend: 'Martha'
  },
  {
    name: 'Mikkel',
    friend: 'Jonas'
  },
  {
    name: 'Ulrich',
    friend: 'Katerina'
  }
]

let found = false;

for (let i = 0; i < dark.length; i++) {
  if (dark[i].name == 'Ulrich') {
    found = true;
    break;
  }
}

console.log(found)

出力

true

この例では、3つのオブジェクトを含む配列を定義しました。配列の値を比較して、配列に特定のオブジェクトが含まれているかどうかを確認しています。

ループなしで配列内の何かをチェックする「魔法の」方法はありません。高階関数を使用する場合でも、関数自体がループを使用します。計算時間を最小限に抑えるために、探しているものが見つかったらすぐにループから抜け出すことができます。

フィルタと矢印関数を使用して、配列にオブジェクトが含まれているかどうかを確認します

array.filter()arrow関数などのJavascript高階関数を組み合わせて使用​​できます。

// app.js

let dark = [
  {
    name: 'Jonas',
    friend: 'Martha'
  },
  {
    name: 'Mikkel',
    friend: 'Jonas'
  },
  {
    name: 'Ulrich',
    friend: 'Katerina'
  }
]

let found = false;

if (dark.filter(d => d.name === 'Ulrich').length > 0) {
  found = true;
}

console.log(found)

出力

true

ここでは、値がUlrichである配列を除外しています。配列の長さが> 0の場合、配列にその項目が含まれていることを意味します。それ以外の場合はfalseを 返し ます 。

array.some() 関数を使用することもできます。その場合、空の配列の状態を確認する必要はありません。

// app.js

let dark = [
  {
    name: 'Jonas',
    friend: 'Martha'
  },
  {
    name: 'Mikkel',
    friend: 'Jonas'
  },
  {
    name: 'Ulrich',
    friend: 'Katerina'
  }
]

let found = false;

if (dark.some(d => d.name === 'Ulrich')) {
  found = true;
}

console.log(found)

出力

true

同じ出力が得られます。配列にオブジェクトが含まれている場合はtrueを返し、含まれていない場合はfalseを返します

Javascript配列に文字列が含まれています

Javascriptに文字列が含まれているかどうかを確認するには、すべての配列(Internet Explorer 8以下を除く)にある配列indexOf()関数を使用して、配列内の要素のインデックスを返します。配列内にない場合は-1を返します。

JavaScript配列indexOf()メソッドは、指定された要素の配列を検索し、その位置を返します。

検索は特定の位置から開始し、開始位置が決定されていない場合は開始し、配列の最後で検索を終了します。アイテムが見つからない場合は-1を返します。

// app.js

let dark = [
   'Jonas',
    'Mikkel',
    'Ulrich',
]

let found = false;

if (dark.indexOf('Jonas') > -1) {
  found = true;
}

console.log(found);

出力

true

この例では、Jonasが配列に含まれているため、trueを返し ます。

Javascript配列に別の配列が含まれています

配列にJavascriptの配列が含まれているかどうかを確認するには、array some()およびarray include()関数を使用します。配列some()メソッドは、配列の各項目をテストメソッドと照合し、配列のいずれかの項目がテスト関数に合格した場合にtrueを返します。それ以外の場合は、falseを返します

indexOf()> = 0とincludes()はどちらも、指定された引数が配列に存在する場合にtrueを返します

// app.js

let dark = [
   'Jonas',
    'Mikkel',
    'Ulrich',
]

let dark2 = [
  'Claudia',
  'Noah',
  'Jonas'
]

const found = dark.some(r => dark2.includes(r))
console.log(found);

出力

true

ここでは、2つの機能を組み合わせて使用​​しました。

  1. array.some()
  2. array.includes()

dark配列からdark2配列までのすべての要素を比較し、共通の要素が1つ見つかった場合はtrueを返し両方の配列が異なる場合はfalseを返し ます。

この例では、  Jonas が両方の配列で見つかりましたそのため、trueが返され ます。 他のシナリオを確認してみましょう。

// app.js

let dark = [
   'Jonas',
    'Mikkel',
    'Ulrich',
]

let dark2 = [
  'Claudia',
  'Noah',
  'Adam'
]

const found = dark.some(r => dark2.includes(r))
console.log(found);

出力

false

両方の配列の要素が異なることがわかります。そのため、falseが返され ます。

Javascript配列に含まれるものと含まれるもの

JavaScript Array.prototype.includesは、ブール値を返します。

JavaScriptArray.prototype.indexOfは数値を返します。

Array.prototype.containsメソッドのネイティブJSはありません。代わりに、配列includes()メソッドを使用して、配列に特定の要素が含まれているかどうかを確認します。

Array.indexOf()およびString.indexOf()は、一致しない場合は-1を返し、一致する場合はインデックス/オフセットを返します。

String.includes()およびArray.includes()は、ブール値のtrueまたはfalseを返します。

配列に特定の項目が含まれているかどうかを確認する方法については、チュートリアルです。

リンク: https://appdividend.com/2020/07/28/javascript-array-contains-the-complete-guide/

#javascript 

What is GEEK

Buddha Community

JavaScriptで配列に特定のアイテムが含まれているかどうかを確認する
宇野  和也

宇野 和也

1636759140

JavaScriptで配列に特定のアイテムが含まれているかどうかを確認する

JavaScriptには組み込みの配列contains()関数はありません。配列に特定の項目が含まれているかどうかを確認するには、配列includes()関数を使用します。

JavaScript配列に含まれるもの

JavaScript配列にアイテムが含まれているかどうかを確認するには、配列includes()メソッドを使用します。JavaScript配列includes()は、配列に指定された要素が含まれているかどうかをチェックする組み込みメソッドです。JavaScriptのincludes()メソッドは、配列に要素が含まれている場合にtrueを返します。それ以外の場合は、falseを返し ます。

JavaScript配列を理解するincludes()

JavaScriptのincludes()メソッドは、配列にエントリ内の特定の要素が含まれるかどうかを制限し、必要に応じてtrueまたはfalseを返します

構文

array.includes(element, start)

パラメーター

要素が 必要なパラメータであり、そして検索する要素です。

 

開始は 、そのデフォルト値である0アレイ内の位置から検索を開始するためのオプションのパラメータです。

戻り値

含む()メソッドは、ブール値を返します。

 

JavaScriptに含まれる配列の例

次のコードを参照してください。

// app.js

let dark = ['Jonas', 'Martha', 'Mikkel', 'Ulrich', 'Adam', 'Eva']
console.log(dark.includes('Adam'))

出力

true

つまり、アダム暗い 配列の中にいて、そこにいるということです。それでは、アイテムが配列に存在しない状態を見てみましょう。

// app.js

let dark = ['Jonas', 'Martha', 'Mikkel', 'Ulrich', 'Adam', 'Eva']
console.log(dark.includes('Claudia'))

出力

false

2番目の引数を渡す

開始パラメーターが配列の長さ以上の場合、false が返されます。配列は検索されません。

// app.js

let dark = ['Jonas', 'Martha', 'Mikkel', 'Ulrich', 'Adam', 'Eva']
console.log(dark.includes('Jonas', 6))

出力

false

このコードでは、インタプリタは配列にないインデックス6でJonasの検索を開始しますそのため、falseが返され ます。

開始位置を指定した場合にのみカウントされ、その要素が見つかった場合はtrueを返し ます。

引数を渡さない

include()関数に 引数を渡さないと、  falseが返され ます。

// app.js

let dark = ['Jonas', 'Martha', 'Mikkel', 'Ulrich', 'Adam', 'Eva']
console.log(dark.includes())

出力

false

探しているアイテムのパスがわからなかったので、trueを返します。

Javascript配列にオブジェクトが含まれています

Javascript配列に、指定された値と等しい属性を持つオブジェクトが含まれているかどうかを確認するための組み込みメソッドはありません。配列オブジェクトが含まれていることを確認するロジックを作成する必要があります。

// app.js

let dark = [
  {
    name: 'Jonas',
    friend: 'Martha'
  },
  {
    name: 'Mikkel',
    friend: 'Jonas'
  },
  {
    name: 'Ulrich',
    friend: 'Katerina'
  }
]

let found = false;

for (let i = 0; i < dark.length; i++) {
  if (dark[i].name == 'Ulrich') {
    found = true;
    break;
  }
}

console.log(found)

出力

true

この例では、3つのオブジェクトを含む配列を定義しました。配列の値を比較して、配列に特定のオブジェクトが含まれているかどうかを確認しています。

ループなしで配列内の何かをチェックする「魔法の」方法はありません。高階関数を使用する場合でも、関数自体がループを使用します。計算時間を最小限に抑えるために、探しているものが見つかったらすぐにループから抜け出すことができます。

フィルタと矢印関数を使用して、配列にオブジェクトが含まれているかどうかを確認します

array.filter()arrow関数などのJavascript高階関数を組み合わせて使用​​できます。

// app.js

let dark = [
  {
    name: 'Jonas',
    friend: 'Martha'
  },
  {
    name: 'Mikkel',
    friend: 'Jonas'
  },
  {
    name: 'Ulrich',
    friend: 'Katerina'
  }
]

let found = false;

if (dark.filter(d => d.name === 'Ulrich').length > 0) {
  found = true;
}

console.log(found)

出力

true

ここでは、値がUlrichである配列を除外しています。配列の長さが> 0の場合、配列にその項目が含まれていることを意味します。それ以外の場合はfalseを 返し ます 。

array.some() 関数を使用することもできます。その場合、空の配列の状態を確認する必要はありません。

// app.js

let dark = [
  {
    name: 'Jonas',
    friend: 'Martha'
  },
  {
    name: 'Mikkel',
    friend: 'Jonas'
  },
  {
    name: 'Ulrich',
    friend: 'Katerina'
  }
]

let found = false;

if (dark.some(d => d.name === 'Ulrich')) {
  found = true;
}

console.log(found)

出力

true

同じ出力が得られます。配列にオブジェクトが含まれている場合はtrueを返し、含まれていない場合はfalseを返します

Javascript配列に文字列が含まれています

Javascriptに文字列が含まれているかどうかを確認するには、すべての配列(Internet Explorer 8以下を除く)にある配列indexOf()関数を使用して、配列内の要素のインデックスを返します。配列内にない場合は-1を返します。

JavaScript配列indexOf()メソッドは、指定された要素の配列を検索し、その位置を返します。

検索は特定の位置から開始し、開始位置が決定されていない場合は開始し、配列の最後で検索を終了します。アイテムが見つからない場合は-1を返します。

// app.js

let dark = [
   'Jonas',
    'Mikkel',
    'Ulrich',
]

let found = false;

if (dark.indexOf('Jonas') > -1) {
  found = true;
}

console.log(found);

出力

true

この例では、Jonasが配列に含まれているため、trueを返し ます。

Javascript配列に別の配列が含まれています

配列にJavascriptの配列が含まれているかどうかを確認するには、array some()およびarray include()関数を使用します。配列some()メソッドは、配列の各項目をテストメソッドと照合し、配列のいずれかの項目がテスト関数に合格した場合にtrueを返します。それ以外の場合は、falseを返します

indexOf()> = 0とincludes()はどちらも、指定された引数が配列に存在する場合にtrueを返します

// app.js

let dark = [
   'Jonas',
    'Mikkel',
    'Ulrich',
]

let dark2 = [
  'Claudia',
  'Noah',
  'Jonas'
]

const found = dark.some(r => dark2.includes(r))
console.log(found);

出力

true

ここでは、2つの機能を組み合わせて使用​​しました。

  1. array.some()
  2. array.includes()

dark配列からdark2配列までのすべての要素を比較し、共通の要素が1つ見つかった場合はtrueを返し両方の配列が異なる場合はfalseを返し ます。

この例では、  Jonas が両方の配列で見つかりましたそのため、trueが返され ます。 他のシナリオを確認してみましょう。

// app.js

let dark = [
   'Jonas',
    'Mikkel',
    'Ulrich',
]

let dark2 = [
  'Claudia',
  'Noah',
  'Adam'
]

const found = dark.some(r => dark2.includes(r))
console.log(found);

出力

false

両方の配列の要素が異なることがわかります。そのため、falseが返され ます。

Javascript配列に含まれるものと含まれるもの

JavaScript Array.prototype.includesは、ブール値を返します。

JavaScriptArray.prototype.indexOfは数値を返します。

Array.prototype.containsメソッドのネイティブJSはありません。代わりに、配列includes()メソッドを使用して、配列に特定の要素が含まれているかどうかを確認します。

Array.indexOf()およびString.indexOf()は、一致しない場合は-1を返し、一致する場合はインデックス/オフセットを返します。

String.includes()およびArray.includes()は、ブール値のtrueまたはfalseを返します。

配列に特定の項目が含まれているかどうかを確認する方法については、チュートリアルです。

リンク: https://appdividend.com/2020/07/28/javascript-array-contains-the-complete-guide/

#javascript