TransWikia.com

Filtering an array of objects Vue

Stack Overflow Asked by Graham Morby on December 27, 2021

I have an array of objects and Im trying to filter by matching ids

//Vehicle is added to quote
function filterByID(item) {
    return item.id === 1;
}
this.vehicle = this.data.filter(filterByID);

data is as follows:

data: [
    0: {
     id: 0,
     name: name
   },
   1: {
     id: 1,
     name: name
   },
   2: {
     id: 2,
     name: name
   }
]

Im getting an empty error when I check the vehicle part

2 Answers

You don't always need to define a separate function, you can use an arrow function, as below.

const data = [{
    id: 0,
    name: name
  },
  {
    id: 1,
    name: name
  },
  {
    id: 2,
    name: name
  }
]

const vehicle = data.filter(item => item.id === 1);

console.log(vehicle);

This works fine in pure JS, it looks like it might be an issue with the lifecycle or state of your application. Use console.log to make sure that this.data is what you expect it to be

Answered by Luke Storry on December 27, 2021

Are you using it like this:

const data = [
  {
    id: 0,
    name: '',
  },
  {
    id: 1,
    name: '',
  },
  {
    id: 2,
    name: '',
  },
];

function filterByID(item) {
  return item.id === 1;
}

console.log(data.filter(filterByID)); // output: [{ "id": 1, "name": "" }]

Answered by Eldynn on December 27, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP