Tommy Tang
Tommy Tang

Reputation: 239

Vue JS2 find array value by id

How can i get the value by id from a array in vue js? Many thanks with solution

list = [
    {
        "name": "Apple",
        "id": 1,
    },
    {
        "name": "Orange",
        "id": 2,
    }
]
watch: {
    food: function (val) {
        //Get food name by val(id)
    }
}

Upvotes: 4

Views: 7034

Answers (1)

akuiper
akuiper

Reputation: 215117

Use Array.find method, which returns the value of the first element in the array that satisfies the provided testing function:

var food = list.find(food => food.id === val)
var name = food ? null : food.name

let list = [
    {
        "name": "Apple",
        "id": 1,
    },
    {
        "name": "Orange",
        "id": 2,
    }
]

console.log(
  list.find(food => food.id === 1).name
)

Upvotes: 7

Related Questions