prompter: Un codigo de JS que dado un array de objetos, filtre los mismos en base a un string y busque en cualquiera de las propiedades de los objetos

assistant: Aquí te muestro un ejemplo de un código en JavaScript que filtra un array de objetos basado en un string de búsqueda y busca en cualquiera de las propiedades de los objetos:

javascript

function filterObjects(array, searchTerm) {
  return array.filter(function(obj) {
    return Object.values(obj).some(function(value) {
      return value.toString().toLowerCase().includes(searchTerm.toLowerCase());
    });
  });
}

var objects = [{
    name: 'John',
    city: 'New York',
    country: 'USA'
  },
  {
    name: 'Jane',
    city: 'London',
    country: 'UK'
  },
  {
    name: 'Jim',
    city: 'Paris',
    country: 'France'
  }
];

var filteredObjects = filterObjects(objects, 'lon');

console.log(filteredObjects);
Este código toma un array de objetos y un término de búsqueda y devuelve un nuevo array con los objetos que cumplen la condición de búsqueda. La función filterObjects utiliza el método filter para recorrer el array de objetos y el método some para verificar si alguno de los valores del objeto incluye el término de búsqueda. Tanto el término de búsqueda como los valores del objeto se convierten en una cadena y se ponen en minúsculas antes de compararse para asegurarse de que la búsqueda sea insensible a mayúsculas.

assistant: Aquí te proporciono un código de JavaScript que filtra un array de objetos en base a una cadena de búsqueda, buscando en cualquiera de las propiedades de los objetos:

const data = [/* array de objetos */];
const searchString = 'john';
const filteredData = data.filter(obj => Object.values(obj).some(val =>
  val.toString().toLowerCase().includes(searchString.toLowerCase())
));

Este código utiliza el método filter() para recorrer el array de objetos y devuelve un nuevo array con los objetos filtrados que coinciden con la cadena de búsqueda. La búsqueda se realiza en cualquiera de las propiedades del objeto, gracias a la utilización del método Object.values().

assistant: Aquí hay un ejemplo de código en JavaScript que filtra un array de objetos en base a un string y busca en cualquiera de las propiedades de los objetos:
_________________________________________________________________________
const filtrarPorPropiedad = (array, texto) => {
  return array.filter(objeto => {
    return Object.values(objeto).some(valor =>
      valor.toString().toLowerCase().includes(texto.toLowerCase())
    );
  });
};
_________________________________________________________________________

Este código define una función llamada filtrarPorPropiedad que toma dos argumentos: el array de objetos que se va a filtrar y el string de búsqueda. La función utiliza el método filter() para devolver un nuevo array que contiene sólo los objetos que contienen el string de búsqueda en cualquiera de sus propiedades.

La función utiliza el método Object.values() para obtener un array de los valores de todas las propiedades de cada objeto, y luego utiliza el método some() para comprobar si algún valor contiene el string de búsqueda. La función también convierte cada valor a un string en caso de que alguna propiedad no sea un string en sí misma.

Aquí hay un ejemplo de cómo se podría utilizar la función:

_________________________________________________________________________
const objetos = [
  { id: 1, nombre: "Juan", email: "juan@mail.com" },
  { id: 2, nombre: "María", email: "maria@mail.com" },
  { id: 3, nombre: "Pedro", email: "pedro@mail.com", telefono: "1234567890" }
];

const resultado = filtrarPorPropiedad(objetos, "mar");
console.log(resultado);
// [{ id: 2, nombre: "María", email: "maria@mail.com" }]
_________________________________________________________________________

En este ejemplo, la función filtrarPorPropiedad() se llama con el array de objetos objetos y el string de búsqueda "mar". La función devuelve un nuevo array que contiene sólo el objeto que tiene el nombre "María" y el email "maria@mail.com".