JavaScript 如何根据字段的值过滤对象

JavaScript 如何根据字段的值过滤对象

在本文中,我们提供了一个对象,并且任务是根据JavaScript中字段的值来过滤对象。下面讨论了两种方法。

方法1: 首先创建一个带有字段值作为键的空对象。然后逐个遍历原始对象,并将对象追加到对象的适当键上。使用 push() 方法将对象推送到新对象中数组的末尾。

示例: 本示例实现了上述方法。

<head> 
    <script src= 
"https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"> 
    </script> 
</head> 
<body style="text-align:center;"> 
    <h1 style="color:green"> 
        GeeksForGeeks 
    </h1> 
  
    <p id="GFG_UP"></p> 
  
    <button onclick="myGFG()"> 
        Click Here 
    </button> 
  
    <p id="GFG_DOWN"></p> 
  
    <script> 
        var up = document.getElementById("GFG_UP"); 
        var obj = [ 
            { ID: 2, Name: 'name_2', title: 'title_a' }, 
            { ID: 1, Name: 'name_1', title: 'title_a' }, 
            { ID: 3, Name: 'name_1', title: 'title_c' } 
        ]; 
          
        up.innerHTML = "[" + JSON.stringify(obj) + "]"; 
        var down = document.getElementById("GFG_DOWN"); 
          
        function myGFG() { 
            var titles = {}; 
            for (var i = 0; i < obj.length; i++) { 
                titles[obj[i].title] = []; 
            } 
            for (var i = 0; i < obj.length; i++) { 
                titles[obj[i].title].push(obj[i]); 
            } 
            down.innerHTML = JSON.stringify(titles); 
        } 
    </script> 
</body
HTML

输出:

JavaScript 如何根据字段的值过滤对象

方法2: 首先,使用字段值作为键值和空数组作为值创建一个空对象,使用新的 Array() . 然后,逐个遍历原始对象,并将对象追加到正确的键值。使用 push() 方法将对象推送到新对象数组的末尾。

示例: 该示例实现了上述方法。

<head> 
    <script src= 
"https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"> 
    </script> 
</head> 
<body style="text-align:center;"> 
    <h1 style="color:green"> 
        GeeksForGeeks 
    </h1> 
  
    <p id="GFG_UP"></p> 
  
    <button onclick="myGFG()"> 
        Click Here 
    </button> 
  
    <p id="GFG_DOWN"></p> 
  
    <script> 
        var up = document.getElementById("GFG_UP"); 
        var obj = [ 
            { ID: 2, Name: 'name_2', title: 'title_a' }, 
            { ID: 1, Name: 'name_1', title: 'title_a' }, 
            { ID: 3, Name: 'name_1', title: 'title_c' } 
        ]; 
        up.innerHTML = "[" + JSON.stringify(obj) + "]"; 
        var down = document.getElementById("GFG_DOWN"); 
          
        function myGFG() { 
            var names = {}; 
            for (var i = 0; i < obj.length; i++) { 
                if (!names[obj[i].Name]) { 
                    names[obj[i].Name] = new Array(); 
                } 
                names[obj[i].Name].push(obj[i]); 
            } 
            down.innerHTML = JSON.stringify(names); 
        } 
    </script> 
</body>
HTML

输出:

JavaScript 如何根据字段的值过滤对象

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程