Sam
Sam

Reputation: 1381

Print with key and value from array of objects

I have an array of objects. I want to get the key and value and print the data. eg. I have id, username and password and I want the username and password.

[
  {"id":1,"name":"admin","password":"admin","role":"Admin"},
  {"id":2,"name":"user","password":"user","role":"User"},
  {"id":3,"name":"superadmin","password":"superadmin","role":"superadmin"}
]

The output should be

name : admin
password : admin,
name : user
password : user,
name : superadmin
password : superadmin 

Upvotes: 0

Views: 2666

Answers (4)

Kurshith
Kurshith

Reputation: 81

To iterate key values dynamically, you have to iterate object.

    let arr = [
      {"id":1,"name":"admin","password":"admin","role":"Admin"},
      {"id":2,"name":"user","password":"user","role":"User"},
      {"id":3,"name":"superadmin","password":"superadmin","role":"superadmin"}
    ];

    arr.forEach((item, i) => {
       for(let key in item) {
           console.log(`${key}: ${item[key]}`);
       }
    });

If you would like to display only name and password, then you can add a condition.

arr.forEach((item, i) => {
   for(let key in item) {
      if (key === 'name' || key === "password") {
          console.log(`${key}: ${item[key]}`);
      }
   }
});

Upvotes: 1

viren
viren

Reputation: 44

var arr = [
  {"id":1,"name":"admin","password":"admin","role":"Admin"},
  {"id":2,"name":"user","password":"user","role":"User"},
  {"id":3,"name":"superadmin","password":"superadmin","role":"superadmin"}
]
[![enter image description here][1]][1]
Loop through the array
arr.forEach(function(data) {
  console.log('name', data.name);
  console.log('password', data.password);
})


  [1]: https://i.sstatic.net/uYA9i.png

Upvotes: 0

Piyush Pant
Piyush Pant

Reputation: 66

let data = [
  {"id":1,"name":"admin","password":"admin","role":"Admin"},
  {"id":2,"name":"user","password":"user","role":"User"},
  {"id":3,"name":"superadmin","password":"superadmin","role":"superadmin"}
];

var out_data = data.reduce((a, b) => a + 'name: ' + b.name + ', password: ' + b.password + ' ', '');
console.log(out_data);

Upvotes: 0

Rory McCrossan
Rory McCrossan

Reputation: 337560

Given the array you have, you simply need to loop through it:

var arr = [
  {"id":1,"name":"admin","password":"admin","role":"Admin"},
  {"id":2,"name":"user","password":"user","role":"User"},
  {"id":3,"name":"superadmin","password":"superadmin","role":"superadmin"}
]

arr.forEach(function(obj) {
  console.log('name: ' + obj.name);
  console.log('password: ' + obj.password);
})

Upvotes: 0

Related Questions