یک تابع جاوااسکریپت بنویسید که یک قالب HTML ساده با جای‌نگهدارهای {{key}} را با مقادیر یک شی جایگزین کند و خروجی را در المان DOM مشخصی رندر نماید.

2.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:18

0.0

برای حل این مسئله از جاوااسکریپت خالص (Vanilla JS) استفاده کنید: یک تابع بگیرید که پارامترهایش قالب به صورت رشته، شی داده‌ای حاوی مقادیر و شناسه یا ارجاع المان مقصد باشد. با یک عبارت منظم مثل /\{\{(\w+)\}\}/g در قالب به دنبال جای‌نگهدارها بگردید و با مقادیر متناظر در شی آنها را با String.prototype.replace جایگزین کنید، سپس نتیجه را با innerHTML یا textContent در المان مورد نظر قرار دهید. نکات: برای کلیدهای موجود نبودن مقدار را مدیریت کنید (مثلاً با رشته خالی)، و در صورت نیاز برای لیست‌ها از map و join برای تولید قطعات HTML استفاده کنید؛ همچنین همیشه هنگام قرار دادن HTML از منابع ناشناس احتیاط کنید تا مشکل XSS پیش نیاید.

توسط پژوهشگر در 202 روز قبل ساعت 02:18
دسته بندی ها: JavaScript JavaScript for beginner
nima در 202 روز قبل ساعت 10:14

نکته امنیتی: اگر خروجی HTML را از قالبی که به منابع ناامن می‌رسد تولید می‌کنید، مقدارها را قبل از درج فرمت کنید یا از textContent به جای innerHTML استفاده کنید تا از XSS جلوگیری شود. هنگام جایگزینی، اگر کلیدی در شی داده موجود نبود، مقدار رشته‌ای خالی یا مقدار پیش‌فرض مناسب را اختصاص دهید تا قالب ناقص نشود. برای کار با آرایه‌ها می‌توانید با map و join قطعه‌های HTML تولید کنید تا خروجی منسجم باشد. از یک عبارت منظم /\{\{(\w+)\}\}/g برای پیدا کردن جای‌نگهدارها استفاده کنید و با شی داده مقدار مرتبط را جایگزین کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری