//The slice() method extracts a section of a string and returns
//it as a new string, without modifying the original string.
// same in array but you select elements not characters
const str = 'The quick brown fox jumps over the lazy dog.';
console.log(str.slice(31));
// expected output: "the lazy dog."
console.log(str.slice(4, 19));
// expected output: "quick brown fox"
console.log(str.slice(-4));
// expected output: "dog."
console.log(str.slice(-9, -5));
// expected output: "lazy"
console.log(str.slice(0, 2));
// expected output: "the"
// Up to and including the last index!!!
// Different for python.
const array = [1, 2, 3, 4, 5, 6, 7, 8, 9]
const objectArray = [
{
name: "Mehedi",
age: 21
},
{
name: "Ripon",
age: 25
},
{
name: "Developer",
age: 22
},
]
// only start index and it will slice the array from index 2
// upto last element of the array
const sliceStart = array.slice(2)
// start and end index
const sliceStartEnd = array.slice(2, 4)
// negative index
const negativeSlice = array.slice(-2)
// negative end index with positive start index
const negativeSliceStartEnd = array.slice(1, -2)
//slice chaining
const sliceChaining = array.slice(2, 4).slice(0, 4)
// slicing object array
const objectArraySlicing = objectArray.slice(1, 3)
// slicing the first half of the array excluding the middle element
const lengthSlicing = array.slice(Math.floor(array.length / 2), array.length)
// slice then sort in descending order
const sliceSort = array.slice(2, 5).sort((a, b) => b - a)
// slice then filter
const sliceFilter = array.slice(2, 6).filter(i => i > 4)
// slice then map
const sliceMap = array.slice(2, 5).map(i => i * 4)
// returning an array after slicing
const restParameters = (args) => {
return args.slice(2, 6)
}
console.log("Slicing with only start index - ", sliceStart)
console.log("Slicing with start and end index - ", sliceStartEnd)
console.log("Slicing with negative index - ", negativeSlice)
console.log("Slicing with negative end index - ", negativeSliceStartEnd)
console.log("Slicing with chaining - ", sliceChaining)
console.log("Slicing with array of objects - ", objectArraySlicing)
console.log("Slicing the second half of the array - ", lengthSlicing)
console.log("Slicing with sort - ", sliceSort)
console.log("Slicing with filter - ", sliceFilter)
console.log("Slicing with map - ", sliceMap)
console.log("Slicing array inside function - ", restParameters(array))
var string = "WelcomeToSofthunt.netTutorialWebsite";
one = string.slice(0, 7)
two = string.slice(7, 9)
three = string.slice(9,21)
four = string.slice(21,29)
five = string.slice(29,36)
six = string.slice(0)
document.write(one);
document.write(two);
document.write(three);
document.write(four);
document.write(five);
document.write(six);
slice(beginIndex)
slice(beginIndex, endIndex)
// beginIndex: The index at which to begin extraction
// endIndex: This index will not be included.
// Return: A new string containing the extracted section.
let str1 = 'The morning is upon us.'
// the length of str1 is 23.
let str2 = str1.slice(1, 8) // OUTPUT: he morn
let str3 = str1.slice(4, -2)// OUTPUT: morning is upon u
let str4 = str1.slice(12) // OUTPUT: is upon us.
let str5 = str1.slice(30) // OUTPUT: ""
// NEGATIVES
beginIndex is negative:
// it is treated as (str.length + beginIndex)
endIndex is negative:
// it is treated as (str.length + endIndex)
//The slice() method extracts a section of a string and returns
//it as a new string, without modifying the original string.
// same in array but you select elements not characters
const str = 'The quick brown fox jumps over the lazy dog.';
console.log(str.slice(31));
// expected output: "the lazy dog."
console.log(str.slice(4, 19));
// expected output: "quick brown fox"
console.log(str.slice(-4));
// expected output: "dog."
console.log(str.slice(-9, -5));
// expected output: "lazy"
let ourString = "Lorem ipsum dolor sit amet, consectetur adipiscing elit.";
ourString.slice(0, 11);
console.log(ourString.slice(0, 11));
//Lorem ipsum
string.slice(start, end);
//Start is required. The position where to begin the extraction.
//First character is at position 0
//End is optional.
//The position (up to, but not including) where to end the extraction.
const a=[1,2]
//const b=a
//above line makes b point to same object in heap as a
To create a copy of a we can write this instead:
const b=a.slice()
// b now contains it's own object [1,2] in heap
Note:slice method is similar(but a little different) to slice operator in python
For ex. unlike slice operator(python), js slice method only accepts 2 arguments.