JavaScript is a high-level programming language used to add interactive and dynamic content to web pages. Among them, the ability to manipulate data types is one of the reasons why JavaScript is so popular and important. When we process data, we often need to add, read and delete elements in a collection. For example, when a user slides the mouse over a picture on a page, we may need to dynamically delete the picture from a picture collection (such as an Array), so that the user will no longer see the picture when the mouse slides over the collection again. Removed images. For such needs, JavaScript provides multiple methods to delete elements, which will be introduced one by one next.
The splice() method is a method that can modify the original array. It can insert or delete elements in the array and return Array of values for the deleted elements. This method accepts two or more parameters. The first parameter specifies the position of the starting element to be deleted or inserted, and the second parameter specifies the number of elements to be deleted or inserted. If you only want to delete one element, you can pass only one parameter.
let myArray = ["apple", "banana", "orange", "pear"]; myArray.splice(2, 1); // 第一个参数是要删除元素的位置,第二个参数是要删除的元素数量。 console.log(myArray); // ["apple", "banana", "pear"]
In this code, we define an array myArray containing four fruit names. Then use the splice() method and pass in the second parameter 1, which is to delete only one element; the first parameter is 2, which means the deletion operation starts from the third element, that is, delete "orange" in the array . The final output shows that the deletion operation is successful, and myArray contains only three elements: "apple", "banana" and "pear".
The delete keyword can also be used to delete elements, but it only applies to object properties and not elements in an array. When you delete an array element using the delete keyword, it simply sets the element's value to undefined. The length of the original array does not change. So, if you want to actually remove an element from the array, you need to call the splice() method again.
let myArray = ["apple", "banana", "orange", "pear"]; delete myArray[2]; console.log(myArray); // ["apple", "banana", undefined, "pear"]
In this code, we use the delete keyword to delete the third element of the myArray array, "orange". However, this array becomes [ "apple", "banana", undefined, "pear" ], and the position of the deleted element becomes undefined. This is much worse than not deleting because not only is it an invalid element, it also causes trouble when iterating through the array. Therefore, it is recommended that you never use delete to remove elements from an array.
The array method filter() in JavaScript can be used to filter elements in an array and return all elements that match a specific condition. Example. Since the filter() method does not modify the original array, compared with the splice() method, using the filer() method to delete elements does not encounter the problem of modifying some elements that you do not want to modify.
let myArray = ["apple", "banana", "orange", "pear"]; myArray = myArray.filter(function (item) { return item !== "orange"; // 返回所有不是“orange”元素的数组实例 }); console.log(myArray); // ["apple", "banana", "pear"]
In this code, we define an array myArray containing four fruit names. Then use the filter() method, passing in an anonymous function that specifies the conditions for deleting items. This anonymous function returns a new array containing all instances that are not "orange" elements. This method can not only delete one element, but also delete multiple elements. Finally, we have an updated myArray that no longer includes the "orange" element.
The pop() or shift() method is used to delete elements in the array. The pop() method deletes the last element in the array, while the shift() method deletes the first element in the array. If we know the position of the element to be removed in the collection, we can use them to remove a specific element. However, this does not directly delete the element in the array, they just delete a new array containing the target element. If you need to modify the original array, you can call splice() to replace it.
let myArray = ["apple", "banana", "orange", "pear"]; myArray.pop(); // 删除 myArray 中的最后一个元素 console.log(myArray); // ["apple", "banana", "orange"] myArray.shift(); // 删除 myArray 中的第一个元素 console.log(myArray); // ["banana", "orange"]
In this code, we define an array myArray containing four fruit names. Then we remove the last and first element in the array using pop() and shift() methods respectively. When calling these methods, the original array is modified and the removed elements cannot be accessed. Therefore, if you need to modify the array, you need to create a copy first.
To summarize, there are multiple ways to delete elements from an array in JavaScript, and each method has their own advantages and disadvantages. splice() is one of the most commonly used methods. It can directly modify the original array and return the deleted element value. However, if we don't want to modify the array, we can use filter(), but this method cannot directly modify the original array. The specific selection of the deletion method needs to be determined based on specific business needs.
The above is the detailed content of How to delete array elements in javascript. For more information, please follow other related articles on the PHP Chinese website!