ยินดีด้วยครับ! 🤩 การตรวจสอบค่าในโครงสร้าง JSON ด้วย JavaScript นั้นทำได้ไม่ยากเลย ผมมีสคริปต์ฟังก์ชันที่พร้อมใช้งานให้คุณทันทีเลยครับ
โค้ด JavaScript ที่ใช้งานได้
ฟังก์ชันนี้จะรับอินพุต 2 ตัวตามที่คุณต้องการ: taskId (ค่าที่ต้องการค้นหา) และ jsonData (โครงสร้าง JSON) จากนั้นจะวนลูปตรวจสอบว่ามีค่า ExternalTaskId ที่ตรงกับค่าที่ต้องการหรือไม่
/**
* ตรวจสอบว่าค่า ExternalTaskId มีอยู่ในโครงสร้าง JSON หรือไม่
* @param {string} taskId - ค่า Task ID ที่ต้องการค้นหา
* @param {object} jsonData - โครงสร้าง JSON ที่มีอาร์เรย์ของ items
* @returns {boolean} - คืนค่า true หากพบ, false หากไม่พบ
*/
function isTaskFound(taskId, jsonData) {
// ตรวจสอบว่า jsonData และ jsonData.items มีอยู่และเป็นอาร์เรย์หรือไม่
if (!jsonData || !Array.isArray(jsonData.items)) {
return false;
}
// วนลูปผ่านแต่ละ item ในอาร์เรย์ items
for (const item of jsonData.items) {
// ตรวจสอบว่าค่า ExternalTaskId ของ item นั้นๆ ตรงกับ taskId ที่ส่งเข้ามาหรือไม่
if (item.ExternalTaskId === taskId) {
// หากพบ ให้คืนค่า true ทันที
return true;
}
}
// หากวนลูปจนจบแล้วยังไม่พบ ให้คืนค่า false
return false;
}
// ตัวอย่างการใช้งาน:
const varTaskID = "TaskID3"; // อินพุต 1
const jsonInput = { // อินพุต 2
"items": [{
"ExternalParentTaskId": "12345",
"ExternalTaskId": "TaskID1"
}, {
"ExternalParentTaskId": "11111",
"ExternalTaskId": "TaskID2"
}, {
"ExternalParentTaskId": "3456",
"ExternalTaskId": "TaskID3"
}, {
"ExternalParentTaskId": "423423",
"ExternalTaskId": "TaskID3"
}, {
"ExternalParentTaskId": "55666",
"ExternalTaskId": "TaskID3"
}]
};
// เรียกใช้ฟังก์ชันเพื่อตรวจสอบและเก็บผลลัพธ์
const result = isTaskFound(varTaskID, jsonInput);
// แสดงผลลัพธ์
console.log(result); // จะแสดงผลลัพธ์เป็น: true
การทำงานของโค้ด
* ฟังก์ชัน isTaskFound: รับค่า taskId และ jsonData เป็นพารามิเตอร์
* การตรวจสอบความถูกต้อง: โค้ดจะตรวจสอบเบื้องต้นก่อนว่า jsonData มีอยู่จริงและ jsonData.items เป็นอาร์เรย์หรือไม่ เพื่อป้องกันข้อผิดพลาดหากโครงสร้างข้อมูลไม่ถูกต้อง
* การวนลูป: ใช้ for...of เพื่อวนลูปทีละรายการในอาร์เรย์ items
* การเปรียบเทียบค่า: ในแต่ละรอบการวนลูป จะเปรียบเทียบค่าของ item.ExternalTaskId กับ taskId ที่เราต้องการค้นหา
* การคืนค่า:
* ถ้าพบค่าที่ตรงกันเมื่อใด ฟังก์ชันจะ คืนค่า true ทันที และหยุดการทำงาน เพื่อประสิทธิภาพที่ดีที่สุด
* ถ้าวนลูปจนครบทุกรายการแล้วยังไม่พบค่าที่ตรงกัน ฟังก์ชันจะ คืนค่า false
คุณสามารถนำโค้ดนี้ไปใช้งานได้เลยครับ โค้ดนี้ถูกออกแบบมาให้ทำงานได้อย่าง
รวดเร็วและมีประสิทธิภาพโดยไม่ต้องใช้ไลบรารีเพิ่มเติมใดๆ ครับ 😊