التابع ‎‎jQuery.makeArray()‎‎ في jQuery

من موسوعة حسوب
< jQuery‏ | jQuery
مراجعة 09:19، 1 يوليو 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (إضافة محتويات الصفحة.)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

jQuery.makeArray( obj )‎

القيم المعادة

يعيد مصفوفةً (Array).

الوصف

يحوِّل هذا التابع كائنًا شبيهًا بمصفوفة إلى مصفوفة JavaScript حقيقية.

jQuery.makeArray( obj )‎

أُضيف مع الإصدار: 1.4.

obj

الكائن المراد تحويله إلى مصفوفة فعليَّة.

تعيد أغلب التوابع عمومًا، في jQuery و JavaScript كلاهما، كائنات شبيه بمصفوفة (array-like). فتعيد الدالة المنتجة ‎‎$()‎ مثلًا الكائن jQuery الذي يملك العديد من خاصِّيَّات المصفوفة (مثل الخاصِّيَّة length، والمعامل [] للوصول إلى المصفوفة ...إلخ.) إلا أنَّه ليس مصفوفة حقيقية تمامًا ويفتقد إلى بعض توابع المصفوفات المدمجة (مثل التابع ‎.pop()‎ والتابع ‎.reverse()‎).

انتبه إلى أنَّه لم تَعد أيَّة ميزات خاصَّة يملكها الكائن (مثل توابع jQuery في مثالنا السابق) موجودةً بعد تنفيذ عملية التحويل، إذ يصبح الكائن حينئذٍ مصفوفة صرفة.

أمثلة

تحويل مجموعة من عناصر HTML إلى مصفوفة تحتوي على هذه العناصر:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery.makeArray مثالٌ عن استعمال التابع</title>
  <style>
  div {
    color: red;
  }
  </style>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<div>واحد</div>
<div>اثنان</div>
<div>ثلاثة</div>
<div>أربعة</div>
 
<script>
// NodeList إعادة قائمة عقد
var elems = document.getElementsByTagName( "div" );
// إلى مصفوفة NodeList تحويل قائمة العقد
var arr = jQuery.makeArray( elems );
// DOM استعمال أحد توابع المصفوفة مع قائمة عناصر 
arr.reverse();
$( arr ).appendTo( document.body );
</script>
 
</body>
</html>

تحويل الكائن jQuery إلى مصفوفة:

var obj = $( "li" );
var arr = $.makeArray( obj );

سنحصل عند تنفيذ هذه الشيفرة على النتيجة التالية:

( typeof obj === "object" && obj.jquery ) === true;
jQuery.isArray( arr ) === true;

مصادر