Heim  >  Artikel  >  Web-Frontend  >  Zusammenfassung aller Schleifendurchlaufmethoden in JS

Zusammenfassung aller Schleifendurchlaufmethoden in JS

php中世界最好的语言
php中世界最好的语言Original
2018-06-01 09:43:142467Durchsuche

Dieses Mal werde ich Ihnen eine Zusammenfassung aller Schleifendurchquerungsmethoden in JS geben. Was sind die Vorsichtsmaßnahmen für die Zusammenfassung der Schleifendurchquerung in JS?

1. for-Schleife

let arr = [1,2,3];
for (let i=0; i<arr.length; i++){
 console.log(i,arr[i])
}
// 0 1
// 1 2
// 2 3

Die for-Schleife ist das am häufigsten verwendete Schleifenwerkzeug in JS und wird häufig zum Schleifendurchlauf von Arrays verwendet .

2. for in-Schleife

let obj = {name:&#39;zhou&#39;,age:&#39;**&#39;}
for(let i in obj){
 console.log(i,obj[i])
}
// name zhou
// age **

Die for in-Schleife wird hauptsächlich zum Durchlaufen gewöhnlicher Objekte verwendet, i repräsentiert den Schlüsselwert des Objekts , obj[i] stellt den entsprechenden Wert dar. Wenn Sie es zum Durchlaufen des Arrays verwenden, kann in den meisten Fällen derselbe Effekt erzielt werden, dies ist jedoch nicht riskant, da i ausgegeben wird Anstelle des für das Array erforderlichen numerischen Index bedeutet dies, dass in einigen Fällen Zeichenfolgenoperationen auftreten, die zu Datenfehlern führen, z. B.: „52“+1 = „521“ anstelle der von uns benötigten 53.

Wenn die for-in-Schleife außerdem nicht nur ihre eigenen Eigenschaften durchläuft, findet sie auch den Prototyp. Daher ist es am besten, dem Schleifenkörper eine Beurteilung hinzuzufügen. Verwenden Sie einfach obj[i].hasOwnProperty( i), um zu vermeiden, dass zu viele unnötige Attribute durchlaufen werden.

3. while-Schleife

Durchlaufen Sie auf ähnliche Weise das Cars-Array, verwenden Sie zuerst die for-Schleifenmethode

let cars=["BMW","Volvo","Saab","Ford"];
let i=0;
for (;cars[i];)
{
console.log(cars[i])
i++;
};
// BMW
// Volvo
// Saab
// Ford

und dann die while-Schleifenmethode

cars=["BMW","Volvo","Saab","Ford"];
var i=0;
while (cars[i])
{
console.log(cars[i] + "<br>")
i++;
};

Wir haben festgestellt, dass sie den gleichen Effekt erzielen können. Tatsächlich ist ihre zugrunde liegende Verarbeitung dieselbe, aber die for-Schleife kann die Definition bedingte Beurteilung und die automatische Inkrementierung festlegen und Dekrementierungsoperationen lassen den Code praktischer aussehen, das ist alles.

4. do while-Schleife

let i = 3;
do{
 console.log(i)
 i--;
}
while(i>0)
// 3
// 2
// 1

Die do while-Schleife ist eine Variante der while-Schleife, die zunächst eine Operation ausführt und dann fortfährt Wenn die Bedingung wahr ist, wird die Operation fortgesetzt. Wenn sie falsch ist, wird die Schleife beendet.

5. Array forEach-Schleife

let arr = [1,2,3];
arr.forEach(function(i,index){
 console.log(i,index)
})
// 1 0
// 2 1
// 3 2

forEach-Schleife durchläuft jedes Element im Array und führt Operationen aus, es gibt keinen Rückgabewert. Sie müssen die Länge des Arrays nicht kennen, es hat drei Parameter, nur der erste ist erforderlich, der den Wert unter dem aktuellen Index darstellt.

Bitte beachten Sie auch, dass die forEach-Schleife nicht gestoppt werden kann, bevor alle Elemente aufgerufen wurden. Sie verfügt nicht über eine break-Anweisung. Wenn Sie stoppen müssen, können Sie eine try-catch-Anweisung verwenden, die beim Aufrufen ausgegeben wird Sie möchten einen Exit erzwingen. Ein Fehler wird von Catch erfasst und dann in Catch zurückgegeben, damit die Schleife beendet werden kann. Wenn Sie diese Methode häufig verwenden, ist es am besten, eine solche forEach-Funktion in Ihrer Bibliothek anzupassen.

6. Array-map()-Methode

let arr = [1,2,3];
let tt = arr.map(function(i){
 console.log(i)
 return i*2;
})
// [2,4,6]

map()-Methode gibt ein neues Array zurück und die Elemente im Array werden aufgerufen die ursprünglichen Array-Elemente. Der Wert nach der Funktionsverarbeitung.
Hinweis: Die Methoden „map“ und „forEach“ können nur zum Durchlaufen von Arrays verwendet werden, nicht für gewöhnliche Objekte.

7. Array-Filter()-Methode

let arr = [1,2,3];
let tt = arr.filter(function(i){
 return i>1;
})
// [2,3]

Filter-Methode ist eine integrierte Methode des Array-Objekts. Sie gibt die gefilterten Elemente zurück ohne das ursprüngliche Array zu ändern.

8. Array-some()-Methode

let arr = [1,2,3];
let tt = arr.some(function(i){
 return i>1;
})
// true

some()-Methode wird verwendet, um zu erkennen, ob die Elemente im Array die angegebenen Bedingungen erfüllen (die Funktion stellt bereit) gibt einen booleschen Wert zurück, ohne das ursprüngliche Array zu ändern.

9. Array-Every()-Methode

let arr = [1,2,3];
let tt = arr.some(function(i){
 return i>1;
})
// 检测数组中元素是否都大于1
// false

Every()-Methode wird verwendet, um zu erkennen, ob alle Elemente des Arrays die angegebenen Bedingungen erfüllen (über die bereitgestellte Funktion), gibt einen booleschen Wert zurück und ändert das ursprüngliche Array nicht.

10. Array-reduce()-Methode

let arr = [1,2,3];
let ad = arr.reduce(function(i,j){
 return i+j;
})
// 6

reduce()-Methode empfängt eine Funktion als Akkumulator, jeder Wert im Array ( von von links nach rechts) und schließlich zu einem einzigen Wert berechnet.

11. Array-reduceRight()-Methode

let arr = [1,2,3];
let ad = arr.reduceRight(function(i,j){
 return i+j;
})
// 6

reduceRight()-Methode, die Funktion ist dieselbe wie Reduce(), sie stammt von Das Array beginnt mit dem Vorwärtszählen ab dem Ende von .

12. for of-Schleife

let arr = ['name','age'];
for(let i of arr){
 console.log(i)
}
// name
// age

for of 循环是 Es6 中新增的语句,用来替代 for in 和 forEach,它允许你遍历 Arrays(数组), Strings(字符串), Maps(映射), Sets(集合)等可迭代(Iterable data)的数据结构,注意它的兼容性。

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

JS反射与依赖注入使用案例分析

如何使用js统计页面标签数量

Das obige ist der detaillierte Inhalt vonZusammenfassung aller Schleifendurchlaufmethoden in JS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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