پیوند میان دو Object در JavaScript ۰
سلام دوستان عزیز ، پیرو آموزش های کوتاه و کاربردی که چندی پیش شروع کردم این بار به موضوعی در جاوااسکریپت می پردازیم ، امکان دارد که برای شما پیش آمده باشد که نیاز داشته باشید یک Object را بهObject دیگر پیوند بزنید ، چه راه حلی به ذهنتان رسیده ؟ فرض بر این هست که یکی یا هر دو Object های ما در مسیر برنامه می بایست چندین بار مقدار دهی و پیوند زده بشود ، پس عملا روش ایجاد Object برای هر بار استفاده برای ما مقدور نیست …
چند راه حل برای این کار وجود دارد که روش اول استفاده ساده از یک حلقه for می باشد که در زیر کد مربوطه را مشاهده می کنید :
var a = { 'foo': 'bar', 'baz': 'bat' };
var b = { 'foo': 'quux' };
for (prop in a) {
if (prop in b) { continue; }
b[prop] = a[prop];
}
در کد بالا ما ابتدا Object با نام a را پیمایش می کنیم و در صورتی که خصوصیت جدید در b وجود نداشته باشد (که توسط شرط در کد تست می شود) خصوصیت a به b افزوده می شود.
به همین سادگی ، البته برای این کار می توان از روش های دیگری هم استفاده کرد و کار اصولی تری انجام داد که بتوان از آن در تمام مسیر یک پروژه استفاده کرد
یکی از این کارهای استفاده از گسترش برای متد Object می باشد ، ما با تعریف یک Prototype برای Object به نام merge در هر جایی از کد می توانید با فراخوانی این متد از آن بهره ببریم
البته این مورد برای مواردی که احتمال می دهید بیش از یک بار نیاز به استفاده دارید ، بسیاز توصیه میشود…
کد مربوطه :
Object.prototype.merge = (function (ob) {
var o = this;
var i = 0;
for (var z in ob) {
if (ob.hasOwnProperty(z)) {o[z] = ob[z];
}
}
return o;
})
و روش استفاده :
var a = {a:1}
var b = {b:2}
var c = a.merge(b); //نتیجه {a:1,b:2}
امیداورم مورد استفادتون قرار گرفته باشه…
موفق و پیروز باشید ![]()
















اشتراک فید نظرات
تا به حال هیچ نظری به این مطلب داده نشده