Home > Blockchain >  How access specific property for each object in list
How access specific property for each object in list

Time:12-11

I made a list (j_list) contain some post. I want a way to access on each body property present on the list.

My goal is find if a specific word exist on body property string.

const j_list =[
  const post = {
      "postId": 1,
       "id": 1,
       "name": "id labore ex et quam laborum",
       "email": "[email protected]",
       "body": "laudantium enim quasi est quidem magnam voluptate ipsam eos\ntempora quo necessitatibus\ndolor quam autem quasi\nreiciendis et nam sapiente accusantium"
     },

   const post = {
      "postId": 1,
       "id": 2,
       "name": "quo vero reiciendis velit similique earum",
       "email": "[email protected]",
       "body": "est natus enim nihil est dolore omnis voluptatem numquam\net omnis occaecati quod ullam at\nvoluptatem error expedita pariatur\nnihil sint nostrum voluptatem reiciendis et"
    },

    const post = {
       "postId": 1,
       "id": 3,
       "name": "odio adipisci rerum aut animi",
       "email": "[email protected]",
       "body": "quia molestiae reprehenderit quasi aspernatur\naut expedita occaecati aliquam eveniet laudantium\nomnis quibusdam delectus saepe quia accusamus maiores nam est\ncum et ducimus et vero voluptates excepturi deleniti ratione"
      }
]

I try this on my code :

 for (post in j_list){
    if(post.body.includes("quasi") > -1){
    console.log("This post contain that word")
   } else {
     console.log("This post doesn't contain any search word")
}

CodePudding user response:

You are defining the array in a wrong way. Each element should be separated via a , without const post.

const j_list = [
    {
      "postId": 1,
       "id": 1,
       "name": "id labore ex et quam laborum",
       "email": "[email protected]",
       "body": "laudantium enim quasi est quidem magnam voluptate ipsam eos\ntempora quo necessitatibus\ndolor quam autem quasi\nreiciendis et nam sapiente accusantium"
     },
     {
      "postId": 1,
       "id": 2,
       "name": "quo vero reiciendis velit similique earum",
       "email": "[email protected]",
       "body": "est natus enim nihil est dolore omnis voluptatem numquam\net omnis occaecati quod ullam at\nvoluptatem error expedita pariatur\nnihil sint nostrum voluptatem reiciendis et"
    },
    {
       "postId": 1,
       "id": 3,
       "name": "odio adipisci rerum aut animi",
       "email": "[email protected]",
       "body": "quia molestiae reprehenderit quasi aspernatur\naut expedita occaecati aliquam eveniet laudantium\nomnis quibusdam delectus saepe quia accusamus maiores nam est\ncum et ducimus et vero voluptates excepturi deleniti ratione"
      }
];

for (const post of j_list){
    if(post.body.includes("quasi") > -1){
    console.log("This post contain that word")
   } else {
     console.log("This post doesn't contain any search word")
   }
}

CodePudding user response:

Change your declaration to an array of objects, then access those objects in a loop; Example:

const j_list = [{
    "postId": 1,
    "id": 1,
    "name": "id labore ex et quam laborum",
    "email": "[email protected]",
    "body": "laudantium enim quasi est quidem magnam voluptate ipsam eos\ntempora quo necessitatibus\ndolor quam autem quasi\nreiciendis et nam sapiente accusantium"
  },
  {
    "postId": 1,
    "id": 2,
    "name": "quo vero reiciendis velit similique earum",
    "email": "[email protected]",
    "body": "est natus enim nihil est dolore omnis voluptatem numquam\net omnis occaecati quod ullam at\nvoluptatem error expedita pariatur\nnihil sint nostrum voluptatem reiciendis et"
  }, {
    "postId": 1,
    "id": 3,
    "name": "odio adipisci rerum aut animi",
    "email": "[email protected]",
    "body": "quia molestiae reprehenderit quasi aspernatur\naut expedita occaecati aliquam eveniet laudantium\nomnis quibusdam delectus saepe quia accusamus maiores nam est\ncum et ducimus et vero voluptates excepturi deleniti ratione"
  }
];

// string includes returns a boolean
j_list.forEach(function(postel, index) {
//  console.log(postel, postel.body);
  if (postel.body.includes("quasi")) {
    console.log("This post contain that word")
  } else {
    console.log("This post doesn't contain any search word")
  }
});

  • Related