معرفی
چگونه یک رشته را در جاوا اسکریپت معکوس کنیم؟ یکی از متداول ترین سوالات مصاحبه است، به خصوص اگر تازه کار هستید یا حداقل تجربه دارید. به طور بالقوه ممکن است ده ها راه وجود داشته باشد که بتوانیم یک رشته را معکوس کنیم. با این حال، در این مقاله، سه روش مختلف برای معکوس کردن یک رشته در جاوا اسکریپت را یاد خواهیم گرفت.
رشته این مقاله « سلام دنیا! " . با این حال، این روش ها با هر رشته ای که می خواهید معکوس کنید کار می کند.
// Expected Output: !dlrow olleh
با استفاده از Split، Reverse، Join
در این روش اول، ما از متدهای داخلی جاوا اسکریپت برای معکوس کردن رشته استفاده می کنیم.
// step 1:
const strChunks = str.split("");
console.log(strChunks); // Output: ["h", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d", "!"]
// step 2:
const strChunksReverse = strChunks.reverse();
console.log(strChunksReverse); // Output: ["!", "d", "l", "r", "o", "w", " ", "o", "l", "l", "e", "h"]
// step 3:
const strReverse = strChunksReverse.join("");
console.log(strReverse); // Output: !dlrow olleh
همانطور که در کد بالا مشاهده می کنید، در مرحله اول، رشته "hello world" را با استفاده از روش split به آرایه ای تقسیم می کنیم که هر عنصر یک کاراکتر از رشته را نشان می دهد. پارامتر ارسال شده به متد split یک رشته خالی بدون فاصله است. در مرحله بعدی، با استفاده از روش معکوس بومی جاوا اسکریپت، آن آرایه را معکوس می کنیم، که عناصر موجود در آرایه را معکوس می کند. و در مرحله آخر، عناصر آرایه، یعنی کاراکترهای رشته را با استفاده از روش join به هم می پیوندیم.
به جای نوشتن هر عملیات در یک دستور جداگانه، میتوانیم متدها را زنجیرهای کنیم و همه عملیات را در یک خط انجام دهیم.
const strReverse = str.split('').reverse().join('');
console.log(strReverse); // Output: !dlrow olleh
قطعه کد بالا همان خروجی بلوک کد قبلی را تولید می کند.
استفاده از حلقه for
در مرحله بعد، ما از یک حلقه ساده برای معکوس کردن یک رشته استفاده می کنیم.
let strReverse = "";
for (let i = str.length - 1; i >= 0; i--) {
strReverse = strReverse + str[i];
}
console.log(strReverse);
// Output: !dlrow olleh
همانطور که در قطعه کد بالا می بینید، ما یک متغیر strReverse