Basado en este código, me gustaría usar una función de flecha, no estoy realmente acostumbrado. ¿Cuál es la mejor manera de escribirlo?
Me gustaría mantener el mismo orden de clasificación. Dado que "selectedHeader" es como puede adivinar, una variable de columna basada en un vue js v-select.
const headers = [ { text: 'City', value: 'city' } , { text: 'Zip code', value: 'zip' } , { text: 'Country', value: 'country'} , { text: 'Number of Inhabitants', value: 'inhabitants' } ]; const selectedHeaders = [ { text: 'City', value: 'city' } , { text: 'Zip code', value: 'zip' } ]; let tab = []; for (i = 0; i < headers.length; i++) { pos = selectedHeaders.map(function(e) { return e.value; }).indexOf(headers[i].value); if (pos > -1) { tab.push(headers[i]); } } console.log(tab);
Si desea utilizar las funciones de flecha, puede utilizar el filtro
const headers = [ { "text": "City", "value": "city" }, { "text": "Zip code", "value": "zip" },{ "text": "Country", "value": "country" },{ "text": "Number of Inhabitants", "value": "inhabitants" }]; const selectedHeaders = [ { "text": "City", "value": "city" }, { "text": "Zip code", "value": "zip" }]; let tab =[]; const selectedValues = selectedHeaders.map(header => header.value); tab = headers.filter(header => selectedValues.includes(header.value)); console.log(tab);