Skip to main content

Use of js array filter() method

 Arrays are frequently used in development, and processing data in arrays is one of the more common and important operations. Therefore, processing data in arrays during development is an important skill. Every developer Everyone should master the operations of arrays, especially for junior developers who have just entered the industry, so be sure to master the relevant skills. This article mainly shares some operations to filter the data in the array, about the use of the filter() method.

The filter() method will not detect empty arrays and will not change the contents of the original array. The first parameter of this method is a callback function, and the second parameter is the object to be used as the callback to be executed. It is passed to the function and used as the value of "this". If thisValue is omitted, the value of "this" is "undefined", that is, if thisValue is omitted in strict mode, "this" is undefined; if thisValue is omitted in non-strict mode, "this" is window; if it is not omitted , "this" is the incoming object.

The following are some practical demonstration cases: The first is the basic use of the method.

       let arr=[1,2,3,4,5,6,7,8];
        let obj={
            id:'1001',
            name:"aaa",
        }
        let a= arr.filter(function(value,index,array){
            /* "use strict"
            console.log(this)//undefined */
            console.log(this);
            console.log(value,index,array);
            return value>2;
        },obj);
        console.log(a,Object.prototype.toString.call(a),a.length);
        console.log(arr);

Array deduplication

 let arr=[1,2,1,2,4,5];
        let a=arr.filter((value,index,array)=>{
            // return index===arr.indexOf(value);
            return index===array.indexOf(value);
        });
        console.log(a);// [1, 2, 4, 5]

Use with other methods

let arr=[1,2,3,4,5,6];
        let fun=function(num){
            if(num%2===0){
                return true;
            }
        }
        let a=arr.filter(fun);
        console.log(a);

Remove null items from an array

 let arr=[1,2,"null",null,"aaa",null];
        let a=arr.filter((value)=>{
            return value;
        })
        console.log(a)// [1, 2, "null", "aaa"]
        console.log(a)

Comments

Popular posts from this blog

What is the difference between the box-size property content-box and border-box in the css box model?

 The box model is a very important concept in CSS layout, it includes content area, padding, border, and margin. Box models can be divided into two types: standard box models and IE box models. The box model, as the name suggests, is used to hold things, and the things it holds are the content of HTML elements. In other words, every visible HTML element is a box.

Js uses recursive way to traverse the dom tree to dynamically create element nodes

 What is a dom tree? In short, DOM is the Document Object Model, which provides a structured representation for documents and defines how to access the document structure through scripts. DOM is composed of nodes. After the HTML is loaded, the rendering engine will generate a DOM tree in memory based on the HTML document. This article uses a small case to traverse the dom tree recursively. The core of the method is to determine whether the incoming data is an array, and then traverse the root node. Note that there must be an end condition when using recursion.