In the previous article "JS Array Learning: How to Remove Head or Tail Elements", we introduced how to delete elements at the beginning or end of an array. Let's continue learning and practicing JavaScript arrays and see how to delete any element based on the array subscript. Interested friends can learn about it~
We all know that each element in the array has a serial number , this serial number starts from 0 and is called the index. According to this array subscript, we can use the formarray name[subscript]
to access the element of the specified subscript.
After accessing the specified element, you canuse thedelete
operator to delete the element, but the length of the array will not change; the deleted element will change It is a gap element.
var arr=new Array("香蕉","苹果","梨子","橙子","橘子","榴莲"); console.log(arr); delete arr[1]; //删除下标为1的元素(第二个元素) console.log(arr);
The gap element can be read and written. The length attribute does not exclude gaps. The return value of the null element position is undefined
console.log(arr[1]);
Explanation: An empty element and an element whose value is undefined are two different concepts. Even the return value of an empty element is undefined. When JavaScript initializes an array, it can allocate memory only if it actually stores valuable elements.
The delete operator can only be used to delete one array element at a time, and because the length of the array is not changed, we cannot observe changes in the array through the length attribute. So if you want to delete one or more elements at a specified subscript position, and actually delete these elements, the length of the array needs to be changed. What should you do?
You can use the splice() method.As I said before, splice() is a powerful method. We have already learned how to use it to insert elements. This time we will learn how to use splice() to delete one or more elements at a specified subscript position. .
Syntax for deleting elements:
array.splice(index,howmany)
The first parameterindex
can specify the starting subscript position (that is, the position where the element is deleted) ;
The second parameterhowmany
specifies the number of elements that should be deleted (that is, one or more elements that need to be deleted).
Let’s take a closer look at the following example:
var arr= [1,2,3,4,5]; console.log(arr); arr.splice(1,2); console.log(arr);
It can be seen that: usearr.splice(1,2)
Delete 2 elements starting from the position of subscript 1 (the second element of the array), that is,arr[1]
andarr[2]
are deleted, so the output result is :
Using the splice() method, we can also delete elements at the beginning and end of the array:
If you want To delete an element at the beginning of the array, just set the value of the first parameter index of the method to 0
var arr= [1,2,3,4,5]; console.log(arr); arr.splice(0,2); console.log(arr);
If If you want to delete elements at the end of the array, set the value of the first parameter index of the method to a negative number, then it will be positioned from the right side of the array to the left according to the absolute value; and the value of the second parameter howmany must be equal to index value.
var arr= [1,2,3,4,5]; console.log(arr); //从倒数第二个元素开始,截取两个元素 arr.splice(-2,2); console.log(arr);
Okay, that’s all. If you need it, you can read:javascript advanced tutorial
The above is the detailed content of JS array learning: how to delete any element based on the array subscript. For more information, please follow other related articles on the PHP Chinese website!