اذهب إلى المحتوى
  • 0

كيفية التحقق من أن قيمة ما عبارة عن مصفوفة في جافاسكريبت JavaScript؟

Emad Saif

السؤال

في جافاسكريبت JavaScript يمكن معرفة نوع قيمة معينة من خلال الكلمة المفتاحية typeof بالشكل التالي:

typeof "hi";	// string
typeof 123;	// number
typeof Date.now; // function

ولكن عندما أردت التحقق من متغير يحتوي على مصفوفة تم إرجاع Object ونفس الأمر إذا قمت بالتحقق من كائن { } تكون نفس النتيجة. كيف يمكنني التفريق بينهما؟

كيفية التحقق من أن قيمة ما عبارة عن مصفوفة في جافاسكريبت JavaScript

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

المصفوفات ليست من أنواع البيانات Data Types الأساسية في جافاسكربت، بل تعتبر من نوع كائن Object كغيرها من الأصناف، لذا للتحقق من أن قيمة ما هي من نوع مصفوفة يمكن استخدام الكلمة المحجوزة instanceof والتحقق ما إذا كانت القيمة نسخة من نوع Array كالتالي:

[] instanceof Array // true

5 instanceof Array // false
{} instanceof Array // false
"Emad" instanceof Array // false

أو لجعل الشيفرة أكثر وضوحًا يمكن الاستعانة بالتابع الثابت static ضمن الصنف Array نفسه بالاسم isArray، حيث يعيد قيمة منطقية تدل فيما إذا كانت القيمة الممررة له هي مصفوفة كالتالي:

Array.isArray([]) // true

Array.isArray(5) // false
Array.isArray({}) // false
Array.isArray("Emad") // false

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

بما أن المصفوفة عبارة عن كائن من صنف Array يمكن التحقق من احتوائها على الدالة البانية من خلال شرط بسيط

variable.constructor === Array

يمكن تطبيق هذه الفكرة على الكائنات

let o = {}
o.constructor === Object // true

let n = new Number(3)
n.constructor === Number // true

/**/

function Person(name) {
  this.name = name
}
let person = new Person('Hsoub');
person.constructor === Person

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 5 دقائق مضت قال Emad Saif:

في جافاسكريبت JavaScript يمكن معرفة نوع قيمة معينة من خلال الكلمة المفتاحية typeof بالشكل التالي:


typeof "hi";	// string
typeof 123;	// number
typeof Date.now; // function

ولكن عندما أردت التحقق من متغير يحتوي على مصفوفة تم إرجاع Object ونفس الأمر إذا قمت بالتحقق من كائن { } تكون نفس النتيجة. كيف يمكنني التفريق بينهما؟

كيفية التحقق من أن قيمة ما عبارة عن مصفوفة في جافاسكريبت JavaScript

يمكنك استخدام ;(Variable)Array.isArray

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...