This article is divided into two parts. The first part is about using slice(), and the second part isusing slice to convert a class array into an array. Friends in need can refer to it. I hope it helps you.
Part 1:
The official document says: slice is used to intercept and select an array. One or two parameters can be passed in. The return value is a new array and will not affect the original array.
First create a new Array array str
var str = new Array(); str[0] = 1; str[1] = 2; str[2] = 3; str[3] = 4; str[4] = 5;
The return value is the selected new array, and the original array will not be modified.
If it is a parameter, it is where to start (subscript) and select to the end of the array.
var strs = str.slice(2); console.log(strs); // [3, 4, 5] console.log(str); // [1, 2, 3, 4, 5]
If two parameters are passed in, the selection starts from the first parameter (subscript) and ends with the second parameter (subscript), but does not include the second parameter
var strs = str.slice(2,4); console.log(strs); // [3, 4]
If a negative number is passed in, counting from the end of the array, -1 refers to the last element, -2 refers to the second to last element, and so on
var strs = str.slice(-2); console.log(strs); // [4, 5]
If two negative numbers are passed in, and The same as above but they all start from the end of the array.
var strs = str.slice(-4,-1); console.log(strs); // [2, 3, 4]
If two parameters are passed in and the second parameter is smaller than the first parameter, the result will be an empty array (the same goes for negative numbers).
var strs = str.slice(-1,1); console.log(strs); // [ ]
Okay, the above is how to use the slice function
But in practice, it is generally used to convert a class array into an array.
This is a string of HTML code I wrote before to get a class array
<div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div>
The result is as follows:
var NodeList = document.querySelectorAll("div"); console.log(NodeList); //NodeList(10) [div, div, div, div, div, div, div, div, div, div] NodeList = [].slice.call(NodeList); console.log(NodeList) //(10) [div, div, div, div, div, div, div, div, div, div]
The first line is to get a string of class array
The second line is to output the class array in the console
The third line is to convert the class array (need to use a variable to accept) or Array.prototype.slice.call(NodeList) is also possible, the two are the same
The fourth line is to output the converted array on the console.
I wonder if you have learned it? I don’t know if I’ve learned it yet, but I typed it several times myself, haha.
The above is the detailed content of How to convert class array into array using slice. For more information, please follow other related articles on the PHP Chinese website!