Rumah >hujung hadapan web >tutorial js >Bagaimana untuk melintasi tatasusunan dalam JavaScript

Bagaimana untuk melintasi tatasusunan dalam JavaScript

青灯夜游
青灯夜游asal
2021-10-25 15:29:2625751semak imbas

Kaedah untuk merentasi tatasusunan dalam JavaScript: 1. Gunakan penyataan untuk gelung 2. Gunakan kaedah forEach() untuk memanggil fungsi panggil balik 3. Gunakan kaedah map() untuk memanggil fungsi panggil balik; . Gunakan "untuk..dalam "Penyataan gelung; 5. Gunakan penyataan gelung "untuk...daripada".

Bagaimana untuk melintasi tatasusunan dalam JavaScript

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi JavaScript 1.8.5, komputer Dell G3.

Apabila menulis kod dalam JavaScript, anda boleh menggunakan berbilang kaedah untuk merentasi tatasusunan termasuk untuk gelung, untukSetiap gelung, gelung peta, gelung forIn, gelung forOf dan kaedah lain.

1 untuk gelung: asas dan ringkas

Ini ialah kaedah yang paling asas dan biasa digunakan untuk merentasi pelbagai Bahasa pembangunan secara amnya menyokong pendekatan ini.

let arr = ['a','b','c','d','e'];
for (let i = 0, len = arr.length; i < len; i++) {
  console.log(i);    // 0 1 2 3 4
  console.log(arr[i]); //a b c d e
}

2. kaedah forEach(): Gunakan fungsi panggil balik

forEach() Ini ialah kaedah objek tatasusunan ;Ia menerima fungsi panggil balik sebagai parameter.
Terdapat tiga parameter dalam fungsi panggil balik:

  • pertama: elemen tatasusunan (diperlukan)
  • ke-2: nilai indeks elemen tatasusunan (pilihan)
  • ke-3 : Tatasusunan sendiri (pilihan)
let arr = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;,&#39;e&#39;];
arr.forEach((item,index,arr)=> {
  console.log(item);  // a b c d e 
  console.log(index); // 0 1 2 3 4
  console.log(arr);  // [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;,&#39;e&#39;]
})

3. kaedah map(): Gunakan fungsi panggil balik

Its penggunaan adalah sama dengan kaedah forEach().

var arr = [
  {name:&#39;a&#39;,age:&#39;18&#39;},
  {name:&#39;b&#39;,age:&#39;19&#39;},
  {name:&#39;c&#39;,age:&#39;20&#39;}
];
arr.map(function(item,index) {
  if(item.name == &#39;b&#39;) {
    console.log(index) // 1
  }
})

4 untuk..dalam gelung: melintasi objek dan tatasusunan

untuk...dalam gelung boleh menjadi digunakan untuk menggelung objek dan tatasusunan.
Disyorkan untuk objek gelung dan juga boleh digunakan untuk melintasi json.

let obj = {
  name: &#39;王大锤&#39;,
  age: &#39;18&#39;,
  weight: &#39;70kg&#39;
}
for(var key in obj) {
  console.log(key);    // name age weight
  console.log(obj[key]); // 王大锤 18 70kg
}
----------------------------
let arr = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;,&#39;e&#39;];
for(var key in arr) {
  console.log(key); // 0 1 2 3 4 返回数组索引
  console.log(arr[key]) // a b c d e
}

5 untuk...gelung: melintasi objek dan tatasusunan

Tatasusunan dan objek yang boleh digelung, disyorkan untuk. Lintas tatasusunan.

untuk...daripada menyediakan tiga kaedah baharu:

  • kunci() ialah melintasi nama kunci;
  • nilai() ialah melintasi nilai kunci ;
  • entri() ialah traversal pasangan nilai kunci; >
  • 6.1, masalah putus dan Teruskan
let arr = [&#39;科大讯飞&#39;, &#39;政法BG&#39;, &#39;前端开发&#39;];
for (let item of arr) { 
 console.log(item); // 科大讯飞 政法BG 前端开发
}
// 输出数组索引
for (let item of arr.keys()) { 
 console.log(item); // 0 1 2
}
// 输出内容和索引
for (let [item, val] of arr.entries()) { 
 console.log(item + &#39;:&#39; + val); // 0:科大讯飞 1:政法BG 2:前端开发
}

Dalam fungsi , 🎜> dan kata kunci tidak akan berkuat kuasa kerana ia berfungsi, tetapi fungsi menyelesaikan masalah Selesaikan masalah perangkap penutupan.

Untuk menggunakan break dan continue, anda boleh menggunakan .

6.2, Tatasusunan dan Objek

forEach、map、filter、reduce、every、somebreak continue digunakan untuk merentasi elemen tatasusunan:

.

for、for...in、for...of、while digunakan untuk menggelung sifat objek:

.

[Pembelajaran yang disyorkan: Tutorial JavaScript Lanjutan
]

Atas ialah kandungan terperinci Bagaimana untuk melintasi tatasusunan dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn