توضیح:
این تابع براساس دو پارامتر شروع و انتها از رشته موردنظر را برش و در قالب یک رشته جدید برگشت میدهد.
موقعیت کاراکتر نخست عدد ۰ است. موقعیت پارامتر end در رشته خروجی جدید در نظر گرفته نمیشود.
پارامترها میتوانند عدد منفی باشند. در صورتی که پارامتر شروع منفی است باید پارامتر انتهایی منفی باشد
در صورتی که پارامتر نخست بزرگتر از پارامتر انتهایی باشد جای آنها باهم عوض نمی شوند.
شباهت های متدهای slice,substring,substr
- هر سه برای برش رشته جدید هستند.
- تابع slice و substr هر دو می توانند پارامتر منفی داشته باشند.
- تابع slice و substring دارای پارامتر start و end هستند.
تفاوت های متدهای slice,substring,substr
- تابع substring مانند slice دارای پارامتر شبیه بهم هستند اما substring پارامترش نمیتواند منفی باشد.
- تابع substr با اینکه پارامترش می تواند منفی باشد اما پارامتر دومش طول رشته است.
نحوه نوشتن:
1 |
String.slice(start, end); |
پارامترها:
- مقدار start: موقعیت شروع برش رشته. موقعیت کاراکتر نخست عدد ۰ است.(ضروری)
- مقدار end: موقعیت انتهایی برش رشته. آخرین کاراکتر در خروجی در نظر گرفته نمیشود. در صورتی که در نظر گرفته نشود تا انتهای رشته را برگشت میدهد.(اختیاری)
مقدار بازگشت:
رشته جدید
وضعیت پشتیبانی از مرورگرها:
مرورگر Chrome | مرورگر Firefox | مرورگر Edge | مرورگر Safari | مرورگر Opera |
---|---|---|---|---|
همه نسخه ها | همه نسخه ها | همه نسخه ها | همه نسخه ها | همه نسخه ها |
مثال:
1 2 3 |
let str = "Hello world!"; str.slice(0, 5); //Hello |
1 2 3 |
let str = "Hello world!"; document.getElementById("demo").innerHTML = str.slice(0); //Hello world! |
1 2 3 |
let str = "Hello world!"; document.getElementById("demo").innerHTML = str.slice(3); //lo world! |
1 2 3 |
let str = "Hello world!"; document.getElementById("demo").innerHTML = str.slice(3, 8); //lo wo |
1 2 3 |
let str = "Hello world!"; document.getElementById("demo").innerHTML = str.slice(0,1); //H |
1 2 3 |
let str = "Hello world!"; document.getElementById("demo").innerHTML = str.slice(-1); //! |
1 2 3 |
let str = "Hello world!"; document.getElementById("demo").innerHTML = str.slice(-3,-1); //ld |
1 2 3 |
let str = "Hello world!"; document.getElementById("demo").innerHTML = str.slice(str.length - 1); //! |