ฟังก์ชัน values() ของออบเจกต์ Set คืนค่า Iterator object ที่มี ค่า (values) ทั้งหมดใน Set ตามลำดับที่เพิ่มเข้าไป (ใน Set คีย์และค่าเหมือนกัน)
ไวยากรณ์
setObj.values()
ตัวอย่าง
<html> <head> <title>JavaScript Example</title> </head> <body> <script type="text/javascript"> const setObj = new Set(); setObj.add('Apples'); setObj.add('Oranges'); setObj.add('Bananas'); setObj.add('Grapes'); var valuesObject = setObj.values(); for(i=0; i<setObj.size; i++) { document.write(valuesObject.next().value); document.write("<br>"); } </script> </body> </html>
ผลลัพธ์
Apples Oranges Bananas Grapes
ข้อสังเกตสำคัญ:
- ใน Set:
keys() === values() === entries()(แต่ entries คืน [value, value]) - Set ไม่มีคีย์แยกต่างหาก - ค่า itself คือคีย์
- รักษาลำดับการเพิ่ม (insertion order)
- คืนค่า Iterator ใหม่ทุกครั้งที่เรียก
การใช้งานแนะนำ (for...of):
for (const value of setObj.values()) {
console.log(value);
}
// หรือสั้นๆ
for (const value of setObj) {
console.log(value);
}
// แปลงเป็น Array
const arr = [...setObj.values()];