Home > Back-end >  How can I skip value in array using map or group elements in Array?
How can I skip value in array using map or group elements in Array?

Time:01-11

I am trying to print a list of persons that share same address and company name My array:

persons = [
{ address: "Wallstreet",
  company: "ABC"
  name: "John",
  telephoneNr: "12345"},
{ address: "Wallstreet",
  company: "ABC"
  name: "Rick",
  telephoneNr: "12857"},
{ address: "Wallstreet",
  company: "ABC"
  name: "Eva",
  telephoneNr: "38665"}]

I am using map function, but I want to print address and company name only once, since they all share same adress and same company. How can I skip printing addresses and company name for the second, third and n time in the loop?

      {persons.map((item, index) => {
                 return (
              <p>
                {item.address}
              </p>
              <p>
                {item.company}
              </p>
              <p>
                {item.name}: {item.telephoneNr}
              </p>
              )})}

My print looks like this:

  Wallstreet
  ABC
  John:12345
  Wallstreet
  ABC
  Rick:12857
  Wallstreet
  ABC
  Eva: 38665

And I want my print to look like this:

 Wallstreet
 ABC
 John:12345
 Rick:12857
 Eva: 38665

  

CodePudding user response:

Please update this code:

{persons.map((item, index) => {
              return (
                if (index === 0) {
                   <p>
                    {item.address}
                   </p>
                   <p>
                    {item.company}
                   </p>
                   <p>
                    {item.name}: {item.telephoneNr}
                   </p>
               } else { 
                   <p>
                    {item.name}: {item.telephoneNr}
                   </p>
               }
              )})}

Your output will be look like this:

 Wallstreet
 ABC
 John:12345
 Rick:12857
 Eva: 38665

CodePudding user response:

You can use Map object Map object

const map = new Map()
map.set([address, company].toString(), [{name, telephoneNr}])

then you need to get the value and set it with the new item and if the key is the same it will map to the same key-value pair and after that, you can iterate the map object and to print it

  •  Tags:  
  • Related