إنشاء قائمة الخصائص العودية
لاجتياز كائن معقد واستخراج قائمة هرمية لخصائصه، فكر في استخدام دالة متكررة. تلتقط هذه التقنية بشكل فعال العلاقات المتداخلة داخل بنية الكائن.
يعتبر نموذج الكائن، بخصائصه المتداخلة، بمثابة مثال على ذلك:
var object = {
aProperty: {
aSetting1: 1,
aSetting2: 2,
aSetting3: 3,
aSetting4: 4,
aSetting5: 5
},
bProperty: {
bSetting1: {
bPropertySubSetting : true
},
bSetting2: "bString"
},
cProperty: {
cSetting: "cString"
}
}
لإنشاء القائمة المطلوبة من مفاتيح الخصائص بشكل هرمي، يمكننا استخدام وظيفة متكررة مثل هذا:
function iterate(obj, stack) {
for (var property in obj) {
if (obj.hasOwnProperty(property)) {
if (typeof obj[property] == "object") {
iterate(obj[property], stack '.' property);
} else {
console.log(property " " obj[property]);
$('#output').append($("").text(stack '.' property))
}
}
}
}
iterate(object, '')تعمل هذه الوظيفة بشكل متكرر، بدءًا من الكائن الأولي والمكدس الفارغ. أثناء استكشاف الكائن، تقوم بإنشاء سلسلة المكدس التي تمثل المسار الهرمي لكل خاصية.
بالنسبة لخصائص النوع البدائي، تقوم الوظيفة بتسجيل مفتاح الخاصية وقيمتها. -
بالنسبة إلى الكائنات المتداخلة، تقوم الدالة باستدعاء نفسها بشكل متكرر، وتمرير الكائن المتداخل وإلحاق مفتاح الخاصية بسلسلة المكدس. -
والنتيجة هي قائمة مفاتيح الخصائص، والتقاط البنية الهرمية للكائن الأصلي .يدمج هذا الحل بشكل فعال التكرار مع تكرار الخاصية، مما يوفر نهجًا شاملاً لإنشاء قائمة هرمية لخصائص الكائن.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3