Comment rechercher dans un tableau d'objet en Javascript

J’ai un tableau d’objets non nommés, qui contient un tableau d’objets nommés, et j’ai besoin de récupérer l’objet dont le « nom » est « jean ». Voici un exemple de tableau.

var persons = [
    { name:"alex", age:"25", address: "Lille" },
    { name:"jean", age:"30", address: "Paris" }
];

Le code suivant vous permet de rechercher dans un tableau d’objet en Javascript

let persons = [
    { name:"alex", age:"25", address: "Lille" },
    { name:"jean", age:"30", address: "Paris" }
];

let obj = arr.find(o => o.name === 'jean');

console.log(obj);

Si vous voulez remplacer l’élément utilisez le code suivant:

let persons = [
    { name:"alex", age:"25", address: "Lille" },
    { name:"jean", age:"30", address: "Paris" }
];

let obj = persons.find((o, i) => {
    if (o.name === 'jean') {
        persons[i] = {name: 'new name', age: 'new age', address: 'new address'};
        return true;
    }
});

console.log(persons);

La fonction suivante vous permet de rechercher dans un tableau d’objet en Javascript

function search(value, arr){
    for (var i=0; i < arr.length; i++) {
        if (arr[i].name === value) {
            return arr[i];
        }
    }
}

var persons = [
    { name:"alex", age:"25", address: "Lille" },
    { name:"jean", age:"30", address: "Paris" }
];

var res = search("jean", persons);

Dans ES6, vous pouvez utiliser

persons.find(e => e.name === 'jean')

Selon l’ECMAScript 6, vous pouvez utiliser la fonction findIndex.

persons[persons.findIndex(e => e.name == 'jean')]