الفرق بين المراجعتين ل"JavaScript/Array/isArray"
< JavaScript | Array
اذهب إلى التنقل
اذهب إلى البحث
ط (استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}') |
|||
سطر 89: | سطر 89: | ||
* معيار [http://www.ecma-international.org/ecma-262/6.0/#sec-array.isarray ECMAScript 2015 (6th Edition)]. | * معيار [http://www.ecma-international.org/ecma-262/6.0/#sec-array.isarray ECMAScript 2015 (6th Edition)]. | ||
* معيار [http://www.ecma-international.org/ecma-262/5.1/#sec-15.4.3.2 ECMAScript 5.1]. | * معيار [http://www.ecma-international.org/ecma-262/5.1/#sec-15.4.3.2 ECMAScript 5.1]. | ||
− | [[تصنيف:JavaScript]] | + | [[تصنيف:JavaScript|{{SUBPAGENAME}}]] |
− | [[تصنيف:JavaScript Global Objects]] | + | [[تصنيف:JavaScript Global Objects|{{SUBPAGENAME}}]] |
− | [[تصنيف:JavaScript Array]] | + | [[تصنيف:JavaScript Array|{{SUBPAGENAME}}]] |
المراجعة الحالية بتاريخ 15:38، 28 يناير 2018
الدالة Array.isArray()
تُحدِّد إذا كانت القيمة المُمرَّرة إليها هي مصفوفة أم لا.
Array.isArray([1, 2, 3]); // true
Array.isArray({foo: 123}); // false
Array.isArray('foobar'); // false
Array.isArray(undefined); // false
البنية العامة
Array.isArray(obj)
obj
الكائن الذي سنختبره.
القيمة المعادة
true
إذا كان obj
مصفوفةً، وإلا فستُعاد القيمة false
.
أمثلة
اختبار مختلف أنواع القيم
// جميع القيم الآتية هي مصفوفات
Array.isArray([]);
Array.isArray([1]);
Array.isArray(new Array());
Array.isArray(new Array('a', 'b', 'c', 'd'));
Array.isArray(new Array(3));
// Array.prototype هو مصفوفة
Array.isArray(Array.prototype);
// جميع القيم الآتية ليست مصفوفة
Array.isArray();
Array.isArray({});
Array.isArray(null);
Array.isArray(undefined);
Array.isArray(17);
Array.isArray('Array');
Array.isArray(true);
Array.isArray(false);
Array.isArray({ __proto__: Array.prototype });
المعامل instanceof
والدالة isArray
عند التحقق إذا كان أحد الكائنات مصفوفةً، فمن المُفضَّل استخدام الدالة Array.isArray
بدلًا من المعامل instanceof
لأنها تعمل على الإطارات iframes
.
var iframe = document.createElement('iframe');
document.body.appendChild(iframe);
xArray = window.frames[window.frames.length-1].Array;
var arr = new xArray(1,2,3); // [1,2,3]
// التحقق من المصفوفة
Array.isArray(arr); // true
// لا تفعل هذا لأنها لن تعمل
arr instanceof Array; // false
تعويض نقص دعم المتصفحات
أُضيفَت الدالة Array.from
أوّل مرة في معيار ECMAScript 5، وهذا يعني أنَّ هنالك بعض المتصفحات التي لم تدعم هذه الدالة بعد، لكن يمكن الالتفاف على هذه المشكلة باستخدام الشيفرة الآتية:
if (!Array.isArray) {
Array.isArray = function(arg) {
return Object.prototype.toString.call(arg) === '[object Array]';
};
}
دعم المتصفحات
الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
الدعم الأساسي | 5 | 4 | 9 | 10.5 | 5 |
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2015 (6th Edition).
- معيار ECMAScript 5.1.