¿Cómo imprimir un objeto por id en una array de objetos en JavaScript?

Tenemos una array de objetos y en cada objeto hay una clave llamada id y cuyo valor es un número.

Ejemplo:

const arr = [
        {
            'id' : 12, 
            'name' : 'Ram'
         }, 
         {
             'id' : 32, 
             'name' : 'Shyam'
         }
          ]

Queremos encontrar el valor de la propiedad de nombre cuyo número de identificación es n .

Ejemplo :

Input : 12
Output : Ram

Input : 32
Output : Shyam

Hay muchos enfoques para resolver este problema que están siguiendo 

Usando Array.filter( ) El método Array.filter( ) se usa para crear una nueva array a partir de una array existente después de aplicar algunas condiciones.

HTML

<!DOCTYPE html>
<html>
    <body>
        <h1>Geeksforgeeks</h1>
  
        <p>Name of the id is : 
          <span id="geeks"></span>
        </p>
  
        <script>
            
            // This is our array of Objects
            var data = [
                { id: 1, name: "a" },
                { id: 2, name: "b" },
                { id: 3, name: "c" },
                { id: 4, name: "d" },
                { id: 5, name: "e" },
                { id: 6, name: "f" },
            ];
  
            let idYouWant = 1;
            let propertyYouWant = "name";
  
            // Using Array.filter( ) method
            // we are iterating through each
            // items in the array and
            // checking which item's
            // id value is equal to the id we want
  
            let res = data.filter((item) => {
                return item.id == idYouWant;
            });
  
            // After using filter method we got an array
            // of object. Now take its first element and
            // use its 'propertyYouWant' key
            let exactRes = res[0][propertyYouWant];
  
            // Printing the property we want
            document.getElementById("geeks").innerText = exactRes;
        </script>
    </body>
</html>

Producción:

Usando Array.find(): Usando Array.find() primero buscamos en qué objeto existe la identificación dada, luego extraemos la propiedad de nombre de ese objeto.

HTML

<!DOCTYPE html>
<html>
    <body>
        <h1>Geeksforgeeks</h1>
  
        <p>Name of the id is : 
          <span id="geeks"></span>
        </p>
  
        <script>
            
            // This is our array of Objects
            var data = [
                { id: 1, name: "a" },
                { id: 2, name: "b" },
                { id: 3, name: "c" },
                { id: 4, name: "d" },
                { id: 5, name: "e" },
                { id: 6, name: "f" },
            ];
  
            let idYouWant = 2;
            let propertyYouWant = "name";
  
            // Using Array.find( ) we are searching
            // in which object our searching id present
  
            let res = data.find((item) => {
                return item.id == idYouWant;
            });
  
            // Now print the property which you want from
            // the object res console.log(res[propertyYouWant])
            document.getElementById("geeks").innerText = 
                    res[propertyYouWant];
        </script>
    </body>
</html>

Producción:

Usando for loop Usando for loop primero estamos iterando la array y buscando en qué objeto está presente la identificación dada y después de eso, estamos imprimiendo la propiedad que queríamos.

HTML

<!DOCTYPE html>
<html>
    <body>
        <h1>Geeksforgeeks</h1>
  
        <p>Name of the id is :
          <span id="geeks"></span>
        </p>
  
        <script>
            // This is our array of objects
            var data = [
                { id: 1, name: "a" },
                { id: 2, name: "b" },
                { id: 3, name: "c" },
                { id: 4, name: "d" },
                { id: 5, name: "e" },
                { id: 6, name: "f" },
            ];
  
            let idYouWant = 4;
            let propertyYouWant = "name";
  
            // Iterating over the array using for loop and
            // searching in which object the id present
            // After getting the object we print the
            // property we wanted from the object
  
            for (var i = 0; i < data.length; i++) {
                if (data[i].id == idYouWant) {
                    // console.log(data[i][propertyYouWant])
                    document.getElementById("geeks").innerText = 
                            data[i][propertyYouWant];
                }
            }
        </script>
    </body>
</html>

Producción :

Publicación traducida automáticamente

Artículo escrito por _saurabh_jaiswal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *