- Published on
แชร์ JavaScript Array Method ที่ใช้บ่อย ๆ ตอนที่ 6 : includes, some, every
Overview
วันนี้เราจะมาดู array method ที่ใช้ตรวจสอบค่าที่อยู่ใน array กันครับ เป็นประโยชน์ในการเช็คข้อมูลที่อยู่ใน array มากๆ
Array Data
ก่อนอื่นขอสมมติข้อมูล Array
ชื่อ cypto_currency
ที่เก็บชื่อของเหรียญเป็น string
ขึ้นมา เหมือนกับตอนที่แล้ว
const cypto_currency = ['BTC','ETH','BNB','XRP','ADA','SOL']
includes
includes
เอาไว้ตรวจสอบข้อมูลใน array ว่ามี item ที่ระบุอยู่ใน array หรือไม่ โดยจะคืนค่าเป็น boolean
array.includes(searchElement,start_index)
ตัวอย่าง : อยากตรวจสอบว่ามีชื่อเหรียญที่กำหนดใน array ไหม
const check_1 = cypto_currency.includes('ETH')
const check_2 = cypto_currency.includes('DOGE')
console.log('check_1', check_1)
console.log('check_2', check_2)
ผลลัพธ์
check_1 true
check_2 false
some
some
ใช้ตรวจสอบ array ถ้ามีบางตัว
ที่เข้าเงื่อนไขที่ระบุ จะคืนค่า true
ทันที เหมาะกับการตรวจสอบ array ของ object แนวทางจากใช้จะคล้าย ๆกับ map
จากตอนที่ 2
array.some(element=>condition)
ขอสมมติข้อมูล Array ตัวใหม่ คือ cypto_currency_data
เก็บข้อมูลเป็น array ของ object โดยมี field คือ name
, cap
const cypto_currency_data = [
{
name:'BTC',
cap: 567000
},
{
name:'ETH',
cap: 245000
},
{
name:'BNB',
cap: 48000
},
{
name:'XRP',
cap: 20500
},
{
name:'ADA',
cap: 18000
},
]
ตัวอย่าง 1 : ต้องการตรวจสอบว่า cypto_currency_data
มีตัวใดตัวหนึ่งที่ cap
มากกว่า 500,000 ไหม
const check = cypto_currency_data.some(element=>element.cap > 500000)
console.log('check', check)
ผลลัพธ์
check true
ตัวอย่าง 2 : ต้องการตรวจสอบว่า cypto_currency_data
มีตัวใดตัวหนึ่งที่ cap
น้อยกว่า 10,000 ไหม
const check = cypto_currency_data.some(element=>element.cap < 10000)
console.log('check', check)
ผลลัพธ์
check false
every
every
ใช้ตรวจสอบ array ทุกตัว
ต้องเข้าเงื่อนไขที่ระบุ จะคืนค่า true
ทันที เหมาะกับการตรวจสอบ array ของ object แนวทางจากใช้จะคล้าย ๆกับ map
จากตอนที่ 2
array.every(element=>condition)
ตัวอย่างขอใช้ array ชื่อ cypto_currency_data
ด้านบน เช่นเดียวกับตัวอย่างของ some
ตัวอย่าง 1 : ต้องการทราบว่าทุกตัวมี cap
มากกว่า 500,000 หรือไม่
const check = cypto_currency_data.every(element=>element.cap > 500000)
console.log('check', check)
ผลลัพธ์
check false
ตัวอย่าง 2 : ต้องการทราบว่าทุกตัวมีชื่อ 3 ตัวอักษร หรือไม่
const check = cypto_currency_data.every(element=>element.name.length === 3)
console.log('check', check)
ผลลัพธ์
check true
สรุปการใช้ includes, some, every
includes
ใช้ตรวจสอบว่ามี item ที่ต้องหาค้นหาใน array นั่นหรือไม่ ได้ค่ากับมาเป็น booleansome
กับevery
เหมาะกับการใช้ตรวจสอบ array ของ object วิธีการใช้คล้ายๆกับพวกmap
กับfilter
some
ใช้ตรวจสอบเงื่อนไขใน array ถ้ามีตัวใดตัวหนึ่งตรงตามเงื่อนไข จะได้ค่าtrue
แต่ถ้าไม่มีตัวใดตรงเงื่อนไขเลย จะได้ค่าfalse
every
ใช้ตรวจสอบเงื่อนไขใน array ถ้าทุกตัวตรงตามเงื่อนไข จะได้ค่าtrue
แต่ถ้ามีตัวใดตัวหนึ่งไม่ตรงเงื่อนไข จะได้ค่าfalse