105 of 264 menu

วิธี filter

วิธี filter ช่วยให้กรอง องค์ประกอบอาร์เรย์ โดยคงไว้เฉพาะองค์ประกอบที่ ตรงตามเงื่อนไขที่กำหนด วิธีนี้รับฟังก์ชันเป็นพารามิเตอร์ ซึ่งจะ ทำงานสำหรับแต่ละองค์ประกอบของอาร์เรย์ ผลลัพธ์ของวิธีนี้จะคืนค่าเป็นอาร์เรย์ใหม่ ซึ่งจะมีเฉพาะองค์ประกอบเหล่านั้น ที่ฟังก์ชันที่ส่งผ่านคืนค่า true

สามารถส่งพารามิเตอร์สามตัวเข้าไปในฟังก์ชันได้ หากมีพารามิเตอร์เหล่านี้ (ไม่จำเป็นต้องมีทั้งหมด) โดยตัวแรกจะได้รับองค์ประกอบ ของอาร์เรย์โดยอัตโนมัติ ตัวที่สองจะได้รับหมายเลขตำแหน่งในอาร์เรย์ (ดัชนี) และตัวที่สามคืออาร์เรย์นั้นเอง

โครงสร้าง

let อาร์เรย์ใหม่ = อาร์เรย์.filter(function(องค์ประกอบ, ดัชนี, อาร์เรย์) { โค้ด return true หรือ false });

ตัวอย่าง

มาทำการกรองอาร์เรย์ โดยคงไว้เฉพาะ ตัวเลขบวก:

let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1]; let res = arr.filter(function(elem) { if (elem >= 0) { return true; } else { return false; } }); console.log(res);

ผลลัพธ์การทำงานของโค้ด:

[5, 1, 1, 3, 4]

ตัวอย่าง

ย่อโค้ดโดยใช้ ฟังก์ชันลูกศร:

let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1]; let res = arr.filter(elem => { if (elem >= 0) { return true; } else { return false; } }); console.log(res);

ผลลัพธ์การทำงานของโค้ด:

[5, 1, 1, 3, 4]

ตัวอย่าง

ย่อโค้ดโดยใช้ การย่อ การดำเนินการทางตรรกะ:

let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1]; let res = arr.filter(elem => { return elem >= 0; }); console.log(res);

ผลลัพธ์การทำงานของโค้ด:

[5, 1, 1, 3, 4]

ตัวอย่าง

ย่อโค้ดโดยใช้ คุณลักษณะของฟังก์ชันลูกศร:

let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1]; let res = arr.filter(elem => elem > 0); console.log(res);

ผลลัพธ์การทำงานของโค้ด:

[5, 1, 1, 3, 4]

ตัวอย่าง

หากจำเป็น สามารถส่ง อาร์เรย์เองเป็นพารามิเตอร์ตัวที่สาม:

let res = arr.filter(function(elem, index, arr) { อาร์เรย์ arr จะสามารถเข้าถึงได้ที่นี่ });

ดูเพิ่มเติม

  • วิธี map และ forEach,
    ซึ่งช่วยให้ใช้ฟังก์ชันกับแต่ละองค์ประกอบของอาร์เรย์ได้
  • วิธี some และ every,
    ทำการตรวจสอบอาร์เรย์
  • วิธี reduce และ reduceRight,
    ยุบอาร์เรย์ให้เหลือค่าเดียว
ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ