Búsqueda de matriz de objetos | JavaScript

Javascript – Buscar desde array de objetos: Aquí, vamos a aprender cómo poner en práctica la búsqueda en Array de objetos utilizando find () Método y FindIndex () Método .

Hemos visto y trabajado con matrices de JavaScript antes y ahora vamos a hablar de objetos de la matriz .

antes de saltar en matrices de objetos , veamos el siguiente ejemplo:

const todoList = ['Buy Chocolates','Go to Gym','Complete the Assignment'] //line1
console.log(todoList.indexOf('Buy chocolates')) //line 2

La salida del siguiente fragmento de código es:

Search from Array of Objects | JavaScript - 4

OOPS! ¿Por -1?

no se preocupe; el código anterior se hace deliberadamente de tal manera de señalar un error común que puede ser por encuentro más tarde, así que hacer usted consciente de ello ahora. El resultado anterior porque la frase “comprar chocolate” en la línea 1 y “comprar chocolate” en la línea 2 son diferentes debido a una diferente class de C (uno está en minúsculas y otra mayúsculas) por lo que ahora -1 tiene sentido, significa que no existe en la matriz.

Ahora vamos a crear una matriz de objetos:

const todoList = [{
job: 'Buy Chocolates',
isDone: false,
},{
job: 'Go to Gym',
isDone: false,
},{
job: 'Complete the Assignment',
isDone: true,
}]

En el código anterior, hemos creado una matriz con los objetos con propiedades similares trabajo que cuenta la descripción de la tarea y isDone es el estado de la tarea si se hace o no se necesita class como su valor.

Ahora vamos a proceder a búsqueda case nuestro objeto en nuestro arsenal , class que tenemos dos métodos de arreglos y aquí vamos a discutir tanto aquí,

1) Utilizando el FindIndex () Método

Sintaxis:

 array.findIndex(callback[,thisArgs])

FindIndex () utiliza una función de devolución de llamada y devuelve el índice de los objetos su nombre lo dice, de lo class -1 es objeto no en la matriz.

Ejemplo:

const todoList = [{
job: 'Buy Chocolates',
isDone: false,
},{
job: 'Go to Gym',
isDone: false,
},{
job: 'Complete the Assignment',
isDone: true,
}]
const findTask = function(arrayTodo,value){ //line 1
const position = arrayTodo.findIndex(function(objectTodo){ //line 2
return objectTodo.job.toLowerCase() === value.toLowerCase() //line 3
})
return position
}
console.log(findTask(todoList,'complete the assignment'))

Explicación:

Voy a explicar lo que sucedió en el código anterior, después de crear una matriz de objetos que hemos creado una función findTask que Boolean la posición de el trabajo. Pasamos arrayTodo una matriz y valor el trabajo que necesita ser buscado en la matriz, entonces llamamos método FindIndex () con una función de devolución de llamada como parámetro donde pasamos un objeto local que pasará for cada objeto en array arrayTodo . En la línea 3, cuando el trabajo de objectTodo será igual al valor pasó entonces será for el índice de ese objeto a posición entonces posición será devuelto a findTask. Por lo tanto la salida del código anterior es 2 .

2) Utilizando el find () Método

const todoList = [{
job: 'Buy Chocolates',
isDone: false,
},{
job: 'Go to Gym',
isDone: false,
},{
job: 'Complete the Assignment',
isDone: true,
}]
const findTask = function(arrayTodo,value){ //line 1
const position =arrayTodo.find(function(objectTodo){ //line 2
return objectTodo.job.toLowerCase() ===value.toLowerCase() //line 3
})
return position
}
console.log(findTask(todoList,'complete the assignment'))

Ahora, por encima de fragmento de código es el mismo que en class de FindIndex () método pero la única FindIndex se cambia con find () y la salida será cambió de 2 a {trabajo: ‘completar la tarea’, isDone: true} resto permanecerá igual …


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *