Js bestimmt, ob ein Array ein angegebenes Element enthält

Methode 1: arr.indexOf (ein Element): Wenn nicht gefunden, wird -1 zurückgegeben.
 if(arr.indexOf(某元素) > -1){
    
    //则包含该元素}

Beispiel:

 var fruits = ["Banana", "Orange", "Apple", "Mango"];
 var a = fruits.indexOf("Apple");  // 2
 //以上输出结果意味着 "Apple" 元素位于数组中下标为 2 的位置。

indexOf() vollständige Syntax:
 array.indexOf(item,start)

 //参数:  item:必须。查找的元素。  start:可选的整数参数。规定在字符串中开始检索的位置。  它的合法取值是 0 到 stringObject.length - 1。  如省略该参数,则将从字符串的首字符开始检索。
Beispiel:

 var fruits=["Banana","Orange","Apple","Mango","Banana","Orange","Apple"];
 var a = fruits.indexOf("Apple",4);  // 6

Hinweis: string.indexOf() gibt die Position des ersten Vorkommens eines angegebenen String-Werts in der Zeichenfolge zurück.

  1. Diese Methode ruft die Zeichenfolge „stringObject“ vom Anfang bis zum Ende ab, um zu sehen, ob sie den Teilstring „searchvalue“ enthält. Die Suche beginnt am fromindex der Zeichenfolge oder am Anfang der Zeichenfolge (wenn fromindex nicht angegeben ist). Wenn ein Suchwert gefunden wird, wird die Position des ersten Vorkommens des Suchwerts zurückgegeben.
  2. Zeichenpositionen in stringObject basieren auf 0.
  3. Um das letzte Vorkommen einer Zeichenfolge zu finden, verwenden Sie die Methode lastIndexOf().
Methode 2: arr.find()

Mit find() einer Array-Instanz wird das erste Array-Element gefunden, das die Kriterien erfüllt. Sein Parameter ist eine Rückruffunktion, und alle Array-Elemente durchlaufen der Reihe nach die Rückruffunktion, bis das erste Element mit dem Rückgabewert true gefunden wird, und geben dann das Element zurück, andernfalls wird undefiniert zurückgegeben.
Die Methode find() ruft die Funktionsausführung einmal für jedes Element im Array auf:

  • Wenn das Element im Array beim Testen der Bedingung „true“ zurückgibt, gibt find() das Element zurück, das die Bedingung erfüllt, und der Wert danach ruft die Ausführungsfunktion nicht auf.
  • Gibt undefiniert zurück, wenn keine geeigneten Elemente vorhanden sind
  • Hinweis: Die Funktion find() wird nicht für ein leeres Array ausgeführt.
  • Hinweis: find() ändert nicht den ursprünglichen Wert des Arrays.
 [1, 5, 10, 15].find(function(value, index, arr) {
    
    
     return value > 9;
 }) // 10
 /**
 *使用方法
 */
 arr.find(function(value) {
    
    
     if(value === 要查找的值) {
    
    
         //则包含该元素
     }
 })
Methode 3: array.findIndex()

array.findIndex() ist array.find() sehr ähnlich und gibt die Position des ersten Array-Elements zurück, das die Bedingungen erfüllt, oder -1, wenn nicht alle Elemente die Bedingungen erfüllen.
Die Methode findIndex() ruft die Funktion einmal für jedes Element im Array auf:
Wenn das Element im Array „true“ zurückgibt, wenn die Testbedingung erfüllt ist, gibt findIndex() die Indexposition des Elements zurück, das die Bedingung erfüllt, und den nachfolgenden Wert Die Funktion wird nicht erneut aufgerufen. Wenn es kein Element gibt, das die Bedingungen erfüllt, geben Sie -1 zurück. Hinweis: Die Funktion findIndex() wird nicht für ein leeres Array ausgeführt.
Hinweis: findIndex() ändert nicht den ursprünglichen Wert des Arrays

[1,5,10,15].findIndex(function(value, index, arr) {
    
    
     return value > 9;
 }) // 2

Erläuterung:
 Methode 2 und Methode 3, beide Methoden können NaN finden, was den Mangel von Methode 1 IndexOf() ausgleicht.

 [NaN].indexOf(NaN) 
 // -1
 
 [NaN].findIndex(y => Object.is(NaN, y))
 // 0
Methode 4: for()

Durchlaufen Sie das Array und beurteilen Sie es dann

 var arr = [1, 5, 10, 15];
 //传统for
 for(let i=0; i<arr.length; i++) {
    
    
     if(arr[i] === 查找值) {
    
    
         //则包含该元素
     }
 }
 // for...of
 for(v of arr) {
    
    
     if(v === 查找值) {
    
    
         //则包含该元素
     }
 }
 //forEach
 arr.forEach(v=>{
    
    
     if(v === 查找值) {
    
    
         //则包含该元素
     }
 })

Supongo que te gusta

Origin blog.csdn.net/qq_42697806/article/details/125423482
Recomendado
Clasificación