Introduction to the method of deleting elements in an array using JS

Y2J
Release: 2018-05-14 16:42:26
Original
2661 people have browsed it

This article mainly introduces you to several methods of deleting elements in an array in a Javascript loop. The article gives detailed sample codes for your reference and study. It has certain reference and learning value for everyone. Friends who need it can follow Let’s take a look together.

This article mainly shares with you several methods of deleting elements in an array in a Javascript loop. It is shared for your reference and learning. Let’s take a look at the detailed introduction:

Discover the problem

In the process of coding, we often encounter the need to remove specified elements in a loop. According to the conventional idea, just create afor loop, and then make aifjudgment in the loop, and delete the specified element in the judgment. But the actual situation often does not run as smoothly as expected.

The following uses a piece of Javascript code as an example to demonstrate this process.

(function () { var arr = [1,2,2,3,4,5]; var len = arr.length; for(var i=0;i
         Copy after login
        

The running results are as follows:


From the final result, we can see that only one of the matching elements is actually deleted, and the other An element still exists.

It is not difficult to find out from the printed running process that the reason is that when an element is deleted, theindexof the array changes, causing an exception in the program.

Solution

After finding the cause of the problem, it is not difficult to solve the problem.

Method 1

(function () { var arr = [1,2,2,3,4,5]; var len = arr.length; for(var i=0;i
         Copy after login
        

The above code seems hard to understand. Is there any code that looks easier to understand? Please see below

Method 2

(function () { var arr = [1,2,2,3,4,5]; var len = arr.length-1; //start from the top for(var i=len;i>=0;i--){ console.log(i+"="+arr[i]); if(arr[i]==2){ arr.splice(i,1); } } console.log(arr); })();
Copy after login

Traversing from back to front can effectively solve the problem and is easy to understand. So is there any simpler implementation? Then look at the following code

Method 3

(function () { var arr = [1,2,2,3,4,5]; var i = arr.length; while(i--){ console.log(i+"="+arr[i]); if(arr[i]==2){ arr.splice(i,1); } } console.log(arr); })();
Copy after login

Usewhile(i--), i is the array subscript, personally I think this is the best Simple and efficient code is implemented.

Summary

[Related recommendations]

1.Javascript free video tutorial

2.The bug and processing method of offsetWidth in JS

3.Detailed explanation of jQuery Validate verification of multiple names

4 .Detailed example of easyUI drop-down list click event

5.Example tutorial of cross-domain webpack development environment

The above is the detailed content of Introduction to the method of deleting elements in an array using JS. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Previous article:Example tutorial of cross-domain webpack development environment Next article:Tutorial on using koa2 framework in nodejs6
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Latest Issues
Related Topics
More>
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!