Heim > Schlagzeilen > Hauptteil

Die umfassendste Zusammenfassung von Array-Methoden

小云云
Freigeben: 2017-12-13 15:35:11
Original
1966 Leute haben es durchsucht

Das sogenannte Array ist eine ungeordnete Folge von Elementen. Wenn eine begrenzte Sammlung von Variablen desselben Typs benannt wird, ist der Name der Array-Name. Die einzelnen Variablen, aus denen ein Array besteht, werden als Komponenten des Arrays, auch als Elemente des Arrays und manchmal auch als tiefgestellte Variablen bezeichnet. Die numerische Zahl, die zur Unterscheidung der einzelnen Elemente eines Arrays verwendet wird, wird als Index bezeichnet. In der Programmierung ist ein Array eine Form der ungeordneten Organisation mehrerer Elemente desselben Typs zur Vereinfachung der Verarbeitung. Diese ungeordneten Sammlungen ähnlicher Datenelemente werden Arrays genannt. In diesem Artikel teilen wir Ihnen hauptsächlich die umfassendste Zusammenfassung der Array-Methoden mit. Wir werden native Javascript-Methoden verwenden und hoffen, allen zu helfen.

Array erstellen
var colors = [];
var colors = ['red', 'blue'];
Nach dem Login kopieren
Array erkennen
if(arr instanceof Array) {}
Nach dem Login kopieren

Wenn die Webseite mehrere Frames enthält, müssen Sie die folgende Methode verwenden, um das Array zu erkennen

if(Array.isArray(arr)) {}
Nach dem Login kopieren
arr.valueOf()
var colors = ['red', 'yellow'];
colors.valueOf();
// > ['red', 'yellow']
Nach dem Login kopieren
arr.toString()
var colors = ['red', 'yellow'];
colors.toString();
// > "red,yellow"
Nach dem Login kopieren
arr.push(item)

Fügen Sie ein Element vom Ende des Arrays hinzu und kehren Sie zurück die Länge des neuen Arrays

var colors = ['red', 'yellow'];
colors.push('pink');
// > 3
Nach dem Login kopieren
arr.pop()

Entfernt das Element vom Ende des Arrays und gibt das gelöschte Element zurück

var colors = ['red', 'yellow'];
colors.pop();
// > 'yellow'
Nach dem Login kopieren
arr.unshift(item)

vom Kopf des Arrays. Füge ein Element hinzu und gebe die Länge des neuen Arrays zurück.

var colors = ['green', 'pink'];
colors.unshift('pink');
// > 3
Nach dem Login kopieren
arr.shift()

Entferne ein Element vom Kopf des Arrays und das gelöschte Element zurückgeben

var colors = ['yellow', 'orange'];
colors.shift();
// > 'yellow'
Nach dem Login kopieren
arr.reverse()

Kehren Sie die Reihenfolge des Arrays um und geben Sie das neu angeordnete Array zurück. Das ursprüngliche Array wird geändert

[1, 2, 3, 'reer', 'game', 2, 5].reverse();
// > [5, 2, "game", "reer", 3, 2, 1]
Nach dem Login kopieren
arr.sort(fn)

Wenn keine Parameter übergeben werden, werden die Elemente im Array standardmäßig zum Vergleich in Zeichenfolgen konvertiert. Daher wird im Allgemeinen nicht empfohlen, die Standardeinstellung arr.sort() direkt zum Sortieren zu verwenden.
Der Rückgabewert ist das neue Array nach der Sortierung. Das ursprüngliche Array wird geändert

  • , um die numerischen Elemente im Array von klein nach groß zu sortieren.

var demo = [1, 4, 2, 'reee', 'name', '9', 'doc'];
demo.sort(function(a, b)) {
    return a - b;
}
// > [1, 2, 4, "reee", "name", "9", "doc"]
Nach dem Login kopieren
  • Sortieren Sie die numerischen Elemente im Array von groß nach klein

var demo = [1, 4, 2, 'reee', 'name', '9', 'doc'];
demo.sort(function(a, b) {
    return b - a;
})
// > [4, 2, 1, "reee", "name", "9", "doc"]
Nach dem Login kopieren
arr.concat(otherArr)

Wenn Sie ein Element oder Array an den Parameter übergeben, wird der Parameter in arr zusammengeführt und das neue Array wird zurückgegeben. Das ursprüngliche Array ändert sich nicht

var arr = [1, 3, 'jake'];
arr.concat('rose', [2, 'fi']);
// > [1, 3, 'jake', 'rose', 2, 'fi']
Nach dem Login kopieren
arr.slice()

Schneiden Sie das Array aus und geben Sie das Array nach dem Schneiden zurück. Die Elemente ändern sich nicht.

  • Übergeben Sie einen Parameter, der die Startposition angibt, und die Endposition ist das Ende.

var arr = [4, 2, 1, "reee", "name", "9", "doc"];
arr.slice(2);
// > [1, "reee", "name", "9", "doc"]
Nach dem Login kopieren
  • Übergeben Sie zwei Parameter, die die Startposition und die Endposition angeben, jedoch nicht das Element, in dem sich die Endposition befindet

var arr = [4, 2, 1, "reee", "name", "9", "doc"];
arr.slice(2, 4);
// > [1, "reee"]
Nach dem Login kopieren
arr.splice()

Je nach verschiedenen Parametern können Sie Elemente löschen, einfügen bzw. ersetzen, wodurch sich das ursprüngliche Array ändert

  • Löschen

Übergeben Sie zwei Parameter, die jeweils die Startposition und die Anzahl der zu löschenden Elemente darstellen, und geben Sie ein Array gelöschter Elemente zurück

var arr = [4, 2, 1, "reee", "name", "9", "doc"];
arr.splice(2, 3);
// > [1, "reee", "name"]
// arr: [4, 2, 1, "9", "doc"]
Nach dem Login kopieren
  • Einfügen

Übergabe von 3 Parametern, [Startposition |. Die Anzahl der zu löschenden Elemente ist 0 | Das einzufügende Element] Schließlich wird ein Array aus gelöschten Elementen zurückgegeben, da die Anzahl der gelöschten Elemente hier 0 ist, ein leeres Array

var arr = [2, 4, 6];
arr.splice(2, 0, 'red', 'green'); 
// > []
// arr: [2, 4, "red", "green", 6]
Nach dem Login kopieren
  • zurückgegeben. >

    Übergeben Sie drei Parameter, [Anzahl der zu löschenden Elemente ist 1 |, die eingefügt werden sollen], und geben Sie schließlich ein Array aus gelöschten Elementen zurück

var arr = [2, 4, 9];
arr.splice(1, 1, ['tim', 'tom']);
// > [4]
// arr: [2, ['tim', 'tom'], 9]
Nach dem Login kopieren
Zusammenfassung Daher erreicht diese Methode aufgrund unterschiedlicher Parameter alle Parameter von Anfang bis Ende
  • [ Die Anzahl der Zu löschende Elemente |. Der Wert des einzufügenden Elements. Sie können mehrere Werte schreiben.]

Überprüfen Sie, ob das Array ein Element enthält, und geben Sie die Position zurück Wenn nicht, wird -1 zurückgegeben. Beginnen Sie mit der Suche am Ende des Arrays und geben Sie die Position des ersten übereinstimmenden Elements zurück arr.indexOf(item)
IE6, 7, 8 unterstützen die Methoden indexOf und lastIndexOf nicht

var arr = [2, 'tim', 4, 5, 2];
arr.indexOf('tim');
// > 1
arr.indexOf('jake');
// > -1
Nach dem Login kopieren
arr.lastIndexOf(item)
Führen Sie die angegebene Funktion für jedes Element im Array aus und geben Sie true zurück wenn die Funktion für jedes Element „true“ zurückgibt. Es gibt eine Funktion als Parameter von every. Diese Funktion hat auch 3 Parameter, nämlich

[Jedes Element des Arrays, das jeden aufruft|Die Position des entsprechenden Elements|Stellt das Array dar]
var arr = [2, 'tim', 4, 5, 2];
arr.lastIndexOf('tim');
// > 1
arr.indexOf('jake');
// > -1
Nach dem Login kopieren

arr.every()Führen Sie die angegebene Funktion für jedes Element im Array aus und geben Sie true zurück, wenn die Funktion für eines der Elemente true zurückgibt. Es gibt eine Funktion als Parameter von every. Diese Funktion hat auch 3 Parameter, nämlich

[Jedes Element des Arrays, das jeden aufruft|Die Position des entsprechenden Elements|Stellt das Array dar]

var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
var everyRes = numbers.every(function(item, index, array) {
    return item > 2;
})
// > false
Nach dem Login kopieren
arr.some()Filtermethode. Gibt ein Array zurück, das aus Elementen besteht, die die Bedingung erfüllen. Die Parameter von fn sind

[Jedes Element des Arrays, das jedes | aufruft. Stellt das Array dar]

var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
var everyRes = numbers.filter(function(item, index, array) {
    return item > 2;
})
// > [ 3, 4, 5, 4, 3 ]
Nach dem Login kopieren
arr.map(fn)

对数组的每一项进行计算等处理,返回处理结果组成的数组,fn的参数为
[ 调用every的数组的每一项元素 | 对应元素所在的位置 | 表示该数组 ]

var numbers = [1, 2, 3, 3, 2, 1];
var everyRes = numbers.map(function(item, index, array) {
    return item > 2;
})
// >[false, false, true, true, false, false]
Nach dem Login kopieren
arr.forEach(fn)

遍历数组,没有返回值,fn的参数为
[ 调用every的数组的每一项元素 | 对应元素所在的位置 | 表示该数组 ]

numbers.forEach(function(item, index) {
    // do something
})
Nach dem Login kopieren
arr.reduce(fn)

缩减方法。fn的参数为
[ 前一个元素 | 当前元素,从1开始 | 后一个元素的序列,从1开始计数 | 表示该数组 ]

var values = [1, 2, 3, 4, 5];
var sum = values.reduce(function(prev, cur, index, array) {
    return prev + cur;
})
// > 15 
//每一次迭代之后的结果分别为
// [3, 3, 4, 5]
// [6, 4, 5]
// [10, 5]
// 15
Nach dem Login kopieren
arr.reduceRight(fn)

与reduce一模一样,只是方向相反。

jQuery相关方法

$.each(arr, fn)

遍历数组或者对象,fn有2个参数,分别为, 比原生的for in 更加健壮
[ 数组的索引或者对象的key值 | 索引或者key值对应的value值 ]

var arr = [1, 2, 3];
$.each(arr, function(key, value) {
    // do something
});
Nach dem Login kopieren
  • 跳过一次循环 return | return true

  • 终止循环 return false

$.grep(arr, fn)

过滤方法,功能类同原生中的arr.filter(fn)。此处fn的参数如下
[ value: 对象/数组的值 | key值或者序列 ]

var arr = [ 1, 3, 6, 4 ];
$.grep(arr, function(val, key) {
    return val >= 3;
});
// > [3, 6, 4]
// arr : [ 1, 3, 6, 4 ] 不会改变
Nach dem Login kopieren
$.map(arr, fn)

对每项进行处理,返回处理结果组成的数组,此处fn的参数如下
[ value: 对象/数组的值 | key值或者序列 ]

var arr = [1, 2, 5, 3];
$.map(arr, function(val, key) {
    return val * 10;
})
// > [10, 30, 30, 20, 10]
// 原数组不受影响
Nach dem Login kopieren
$.inArray(item, array)

检测某一个元素item是否存在与数组之中,返回其所在的位置,如果不在,则返回-1

$.inArray(3, [1, 2, 3]);
// > 2
Nach dem Login kopieren
$.merge(arr1, arr2)

合并数组,会改变第一个参数的数组为合并之后的数组,返回合并之后的数组

var arr = [1, 3, 4];
var arr2 = [4, 3, 1];
$.merge(arr, arr2);
// > [1, 3, 4, 4, 3, 1]
// 为了防止第一个数组被改变,可以使用下面的方式来写
$.merge($.merge([], arr), arr2);
Nach dem Login kopieren
$.unique(arr)

过滤DOM数组中重复的元素

$.makeArray(obj)

将类数组对象转换为数组

$(elem).toArray()

将jQuery对象集合恢复成DOM数组

相关推荐:

最实用的JS数组函数整理

PHP常用数组(Array)函数总结整理

PHP 数组排序方法总结

几种PHP数组定义的方法

JavaScript如何创建数组?

Verwandte Etiketten:
js
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!