كيفية تحويل المصفوفة إلى سلسلة مفصولة بفواصل في جافاسكريبت
لدي مصفوفة:
a.value = [a,b,c,d,e,f]كيف يمكنني التحويل إلى سلسلة مفصولة بفواصل مثل:
a.value = "a,b,c,d,e,f"الإجابة رقم 1
تقوم الطريقة array.toString() فعليًا باستدعاء array.join() مما يؤدي إلى سلسلة مترابطة باستخدام الفواصل. المرجع
var array = ['a','b','c','d','e','f'];
document.write(array.toString()); // "a,b,c,d,e,f"أيضًا، يمكنك استدعاء Array.toString() ضمنيًا عن طريق جعل جافاسكريبت تجبر Array على أن تصبح string، مثل:
//will implicitly call array.toString()
str = ""+array;
str = `${array}`;
Array.prototype.join()
تقوم طريقة join() بضم جميع عناصر المصفوفة في سلسلة نصية.
الحجج:
يقبل separator كوسيطة، لكن الإفتراضي هو بالفعل فاصلة ,
str = arr.join([separator = ','])
أمثلة:
var array = ['A', 'B', 'C'];
var myVar1 = array.join(); // 'A,B,C'
var myVar2 = array.join(', '); // 'A, B, C'
var myVar3 = array.join(' + '); // 'A + B + C'
var myVar4 = array.join(''); // 'ABC'
ملاحظة :
إذا كان أي عنصر في المصفوفة غير معرف أو فارغًا، يتم اعتباره كسلسلة فارغة.
دعم المتصفح:
إنه متاح تقريبًا في كل مكان اليوم، منذ IE 5.5 (1999~2000).
المراجع
- مواصفة ECMA
- موزيلا
- MSDN
الإجابة رقم 2
استخدم طريقة join من نوع Array.
a.value = [a, b, c, d, e, f];
var stringValueYouWant = a.join();
ستُرجع طريقة join سلسلة نصية تمثل دمج جميع عناصر المصفوفة. ستستخدم المعامل الأول الذي تمرره كمحدد - إذا لم تستخدم واحدًا، ستستخدم المحدد الافتراضي، وهو الفاصلة.
الإجابة رقم 3
يمكنك ببساطة استخدام دالة join() في JavaScript لذلك. سيبدو هذا ببساطة مثل a.value.join(','). ومع ذلك، سيكون الناتج سلسلة نصية.
