javascriptString.split() and Array.join()تبدیل متن و آرایه در جاوااسکریپت
split و join در جاوااسکریپت مرز متن و فهرست را روشن میکنند؛ برچسبهای جداشده با ویرگول را پاکسازی و دوباره به متن نمایشی تبدیل کنید.
مفهوم به زبان ساده
گاهی چند برچسب در یک رشته نوشته شدهاند، اما برنامه برای بررسی هر برچسب به یک آرایه نیاز دارد. split رشته را با جداکنندهٔ مشخص میشکند و آرایهای از قسمتها میسازد. join در جهت دیگر، اعضای آرایه را با جداکنندهٔ نمایشی به یک رشته وصل میکند. پس split روش رشته و join روش آرایه است؛ خروجی هرکدام نوع متفاوتی دارد.
در مثال، نام سه موضوع با ویرگول فارسی جدا شده است. ابتدا روی همان نویسه جدا میکنیم و بعد با map فاصلهٔ دو سر هر قسمت را میگیریم. در پایان، join پیام خوانایی برای نمایش میسازد. پاکسازی جدا از تقسیم انجام شده، چون split خودش فاصلهٔ کنار نامها را حذف نمیکند.
جداکننده باید با قرارداد ورودی سازگار باشد؛ ویرگول لاتین با ویرگول فارسی یک نویسه نیست. جداکنندههای پشت سر هم میتوانند قسمت خالی بسازند؛ پیش از حذف آنها تعیین کنید که قسمت خالی مجاز است یا خطا. این الگو جای تجزیهکنندهٔ کامل CSV را نمیگیرد، چون جداکننده ممکن است در متن نقلقولشده هم باشد. برای تمرین، یک ویرگول اضافی در پایان متن بگذارید و طول آرایه را پیشبینی کنید.
کجا به کار میآید؟
- تبدیل فهرست سادهٔ برچسبها به آرایه
- ساخت متن خلاصه از آرایهٔ عنوان درسها
از تعریف تا یک مثال واقعی
const raw = 'متغیر، شرط، تابع';
const tags = raw.split('،').map((tag) => tag.trim());
console.log(tags.length);
console.log(tags[1]);
console.log(tags.join(' | '));
console.log('a,,b'.split(',').length);
3 شرط متغیر | شرط | تابع 3
این مثال چطور کار میکند؟
split با ویرگول فارسی سه قسمت میسازد.
map فاصلهٔ هر برچسب را جدا پاک میکند.
join یک رشتهٔ نمایشی با جداکنندهٔ خط عمودی میسازد.
در نمونهٔ آخر، قسمت میانی خالی است اما همچنان یک عضو آرایه محسوب میشود.
اشتباه رایج
split با رشتهٔ خالی، واحدهای UTF-16 را جدا میکند و راه عمومی شمارش نشانههای دیداری یا ایموجی نیست. برای فهرست، جداکنندهٔ واقعی داده را مشخص کنید.
این را به خاطر بسپارید
split متن را به فهرست میبرد و join فهرست را به متن؛ تقسیمکردن به معنی اعتبارسنجی قسمتها نیست.