tengo dos datos lo que quiero hacer es comprobar
(1) cada valor de contenido comienza con una de las categorías.class_cd
(2) la longitud de cada valor de contenido es categorías.class_cd + 2
const contents = [ "010101", "010101", "010301", "0103", "01", "01", "01400201", "01400201", "010103", "0118" ] const categories = [ { "class_cd": "0101", "name": "A", }, { "class_cd": "0103", "name": "B", }, { "class_cd": "0107", "name": "C", }, { "class_cd": "0109", "name": "D", }, { "class_cd": "0112", "name": "E", }, { "class_cd": "0117", "name": "F", }, ]Quiero obtener otra matriz de datos como la siguiente.
const categoriesNew =[ { "class_cd": "0101", "name": "A", }, { "class_cd": "0103", "name": "B", }, ]como puedo ordenar asi??? Traté de usar filtro o mapa pero no funcionó bien.
Si entiendo tu pregunta, puedes hacer algo como esto:
let res = categories.filter(category => { return contents.find(content => content.includes(category.class_cd) || parseInt(content) === parseInt(category.class_cd) + 2) }) const contents = [ "010101", "010101", "010301", "0103", "01", "01", "01400201", "01400201", "010103", "0118" ] const categories = [ { "class_cd": "0101", "name": "A", }, { "class_cd": "0103", "name": "B", }, { "class_cd": "0107", "name": "C", }, { "class_cd": "0109", "name": "D", }, { "class_cd": "0112", "name": "E", }, { "class_cd": "0117", "name": "F", }, ] let res = categories.filter(category => { return contents.find(content => content.includes(category.class_cd) || parseInt(content) === parseInt(category.class_cd) + 2) }) console.log(res)