ในบทช่วยสอนนี้ คุณจะได้เรียนรู้วิธีใช้some()วิธี JavaScript Array เพื่อตรวจสอบว่าองค์ประกอบอาร์เรย์อย่างน้อยหนึ่งรายการผ่านการทดสอบหรือไม่
ฉบับภาษาอังกฤษ:https://www.javascripttutorial.net/javascript-array-some/
บางครั้งคุณต้องการตรวจสอบว่าอาร์เรย์มีองค์ประกอบอย่างน้อยหนึ่งรายการที่ตรงตามเงื่อนไขที่กำหนดหรือไม่
ตัวอย่างเช่น เพื่อตรวจสอบว่าอาร์เรย์ต่อไปนี้มีองค์ประกอบอย่างน้อยหนึ่งองค์ประกอบที่น้อยกว่า 5 หรือไม่:
โดยปกติคุณจะใช้การวนซ้ำดังนี้:
ผลลัพธ์:
ทำความเข้าใจว่าโค้ดนี้ทำงานอย่างไร:
lessThanFiveและตั้งค่าfalseเป็นlessThanFiveเป็นtrueและออกจากลูปทันทีโดยbreakใช้ประเภทอาร์เรย์จัดเตรียมวิธีการอินสแตนซ์ที่มีชื่อsome()ซึ่งช่วยให้คุณสามารถทดสอบว่าอาร์เรย์มีองค์ประกอบอย่างน้อยหนึ่งรายการที่ตรงตามเงื่อนไขที่ระบุหรือไม่
ผลลัพธ์:
เงื่อนไขถูกนำมาใช้ผ่านฟังก์ชันcallback(โทรกลับ) ที่ส่งผ่านไปยังวิธีsome()การ
ตอนนี้โค้ดสั้นลงแล้ว เพื่อให้แสดงออกได้มากขึ้น คุณสามารถใช้ ไวยากรณ์ ของฟังก์ชันลูกศรที่นำมาใช้ใน ES6
จากนั้นตรวจสอบไวยากรณ์ของวิธีการsome():
วิธีการนี้some()ยอมรับสองข้อโต้แย้ง: callbackและthisArg
ฟังก์ชันsome()จะรันฟังก์ชันcallbackหนึ่งครั้งสำหรับแต่ละองค์ประกอบในอาร์เรย์จนกว่าจะพบองค์ประกอบที่ฟังก์ชันส่งcallbackคืนtrueจากนั้นเมธอดsome()จะส่งกลับtrueทันทีและไม่ได้ประเมินองค์ประกอบที่เหลือ
หากไม่มีองค์ประกอบใดที่ทำให้ฟังก์ชันcallbackส่งคืนtrueวิธีการsome()ก็จะส่งfalseคืน
ฟังก์ชันcallbackมี 3 อาร์กิวเมนต์:
currentElementองค์ประกอบปัจจุบันที่กำลังประมวลผลในอาร์เรย์currentIndexดัชนีขององค์ประกอบปัจจุบันที่กำลังประมวลผลในอาร์เรย์arrayอาร์เรย์ที่some()ถูกเรียกใช้อาร์กิวเมนต์thisArgเป็นทางเลือก หากคุณส่งผ่านthisArgไปยังเมธอด คุณจะสามารถใช้มันthisArgกับค่าthisภายในฟังก์ชันcallbackได้
เรามายกตัวอย่างเพิ่มเติมเกี่ยวกับวิธีการใช้วิธีนี้some()กัน
ฟังก์ชันต่อไปนี้exists()ใช้วิธีsome()การตรวจสอบว่ามีค่าอยู่ในอาร์เรย์หรือไม่
ผลลัพธ์:
ตัวอย่างต่อไปนี้แสดงวิธีการตรวจสอบว่าตัวเลขใดๆ ในอาร์เรย์marksอยู่ระหว่างช่วง 8 ถึง 10 หรือไม่:
ผลลัพธ์:
มันทำงานอย่างไร?
rangeที่มีคุณสมบัติminและmaxsome()บน array marksส่งผ่าน a callbackและrangeobject เนื่องจากเราส่งวัตถุrangeไปในอาร์กิวเมนต์ที่สองthisArgเราจึงสามารถอ้างอิงวัตถุนั้นภายในฟังก์ชันcallbackผ่านค่าthisได้หากคุณเรียกใช้เมธอดsome()ในอาร์เรย์ว่าง ผลลัพธ์จะเป็นเสมอfalseโดยไม่คำนึงถึงเงื่อนไขใดๆ ตัวอย่างเช่น:
ผลลัพธ์:
ในบทช่วยสอนนี้ คุณได้เรียนรู้วิธีใช้some()วิธี JavaScript Array เพื่อทดสอบว่าอาร์เรย์มีองค์ประกอบอย่างน้อยหนึ่งรายการที่ตรงตามเงื่อนไขที่กำหนดหรือไม่
ผู้ที่มีความคิดเชิงเหตุผลย่อมรู้ดีว่าแวดวงการเมืองและสื่อถูกครอบงำโดยฝ่ายซ้าย แม้แต่ฝ่ายซ้ายสุด สถานการณ์ที่สร้างความไม่สมดุลในวาทกรรมทางการเมือง ในด้านศาสนา ความไม่สมดุลนี้เห็นได้ชัดเจน: หนังสือพิมพ์และเครือข่ายฝ่ายซ้ายไม่เร่งรีบที่จะปกป้องความเชื่อของคริสเตียน
เช้าวันนี้เป็นสีทองอร่ามบนเนินเขาทางทิศตะวันตก เมื่อแสงแรกของแสงแดดส่องให้เห็นหญ้าที่ปกคลุมด้วยน้ำค้างแข็งบนที่ราบ ฝูงวัวแองกัสที่สงบนิ่ง ตัวสีดำสนิทและตัวมหึมา มีเงาสะท้อนยามพระอาทิตย์ขึ้นขณะที่พวกมันเดินไปตามทางที่ไม่ค่อยมีใครรู้จักไปยังสถานที่ที่พวกเขารู้จักดี บาร์อาหารเช้า
มันทำให้ฉันประหลาดใจ ทันใดนั้นมันก็เกิดขึ้นบ่อยๆ มันอยู่กลางทางอีกครั้ง <ไม่ ไม่ใช่คนในมหาสมุทรแปซิฟิก คุณเป็นสีน้ำตาลแดง คนที่งานคาร์นิวัล> ทุกพาดหัวข่าวดัง…..
เรามักพบปัญหาในการดำเนินการตามสิ่งที่เรารู้ว่าดีสำหรับเรา ตั้งแต่การบอกคนสำคัญว่าเรารักเขาไปจนถึงการจดจำการพูดคุยอย่างโจรสลัด จะมีคนที่อ้างว่าเหตุการณ์หนึ่งวัน สัปดาห์ หรือเดือนไม่จำเป็น เพราะพวกเขาทำสิ่งเหล่านั้นอยู่แล้ว
โดย Alyson Lee ที่ปรึกษาด้านการจัดการภาครัฐ กระบวนการจัดสรรประจำปีของรัฐบาลกลางเป็นหัวใจสำคัญของความพยายามของเราในการให้ทุนสนับสนุนการกำจัดก๊าซคาร์บอนไดออกไซด์ (CDR) ในแต่ละปี Carbon180 จะส่งคำขอไปยังสำนักงานรัฐสภาหลายแห่งเพื่อช่วยชี้แนะว่าเงินดอลลาร์ในปีหน้าจะไหลไปที่ใด
บทนำ:ยินดีต้อนรับ ผู้อ่านผู้กล้าหาญ สู่การเดินทางที่จะพาเราไปสู่ความลึกที่มืดมนที่สุดบนโลกใบนี้ ในบล็อกนี้ เราเจาะลึกโลกอันน่าพิศวงของร่องลึกบาดาลมาเรียนา เปิดเผยความลับที่ซ่อนอยู่ และเปิดเผยความจริงอันน่าสะพรึงกลัวที่อยู่ใต้พื้นผิวของมัน