เมื่อทำงานในโครงการ บริษัท คุณต้องเขียนวิธีการพารามิเตอร์ของวิธีการคือคอลเลกชันเมนูอาร์เรย์และรหัสเมนูและรูปแบบของเมนูอาร์เรย์เป็น JSON เหมือนต้นไม้ดังที่แสดงด้านล่าง:
การคัดลอกรหัสมีดังนี้: [{"id": 28, "ข้อความ": "ข้อมูล บริษัท ", "เด็ก": [
{"id": 1, "ข้อความ": "วัฒนธรรมของ บริษัท "},
{"id": 2, "text": "แผนการจัดหางาน"},,
{"id": 6, "ข้อความ": "ข่าว บริษัท ", "เด็ก": [
{"id": 47, "ข้อความ": "ข่าวอุตสาหกรรม"}]},
{"id": 11, "ข้อความ": "ข่าวภายใน", "เด็ก ๆ ": [
{"id": 24, "ข้อความ": "ข้อมูลการดูแลระบบ"},
{"id": 27, "ข้อความ": "ตัวบ่งชี้ระดับสูง"}]},
{"id": 22, "ข้อความ": "ติดต่อเรา"},
{"id": 26, "ข้อความ": "การแสดงผลผลิตภัณฑ์", "เด็ก": [
{"id": 32, "text": "ผลิตภัณฑ์ไฟฟ้า"},
{"id": 33, "text": "อุปกรณ์เสริมบทนำ"}}]
-
ID เมนูที่กำหนดคือ 32 และคุณต้องค้นหารายการที่เกี่ยวข้องและส่งคืนชื่อเมนูที่เกี่ยวข้อง ชื่อ ของ JavaScript และวางวิธีการสำรวจเด็กในวิธีที่ไม่ระบุชื่อเพื่อให้คุณสามารถกลับมาอีกครั้งในวิธีที่ไม่ระบุชื่อ วิธีหลัก
คัดลอกรหัสดังนี้: ฟังก์ชั่น getMenuname (เมนู, id) {
ชื่อ var = "";
สำหรับ (var i = 0; i <menus.length; i ++) {
ถ้า (เมนู [i] .id == id) {
ชื่อ = เมนู [i] .Text;
หยุดพัก;
-
อื่น {
(การทำงาน () {
var m = อาร์กิวเมนต์ [0];
var menuid = อาร์กิวเมนต์ [1];
สำหรับ (var j = 0; j <m.length; j ++) {
if (m [j] .id == menuid) {
NAME = M [J] .Text;
หยุดพัก;
-
อื่นถ้า m [j] .children! = null && m [j] .children.length> 0) {
arguments.callee (m [j]. เด็ก, val); // วิธีการไม่ระบุชื่อแบบเรียกซ้ำ
-
-
}) (เมนู [i]. เด็ก, id);
-
-
ชื่อคืน;
-