JS:箭头函数还是数组映射?

JS : arrow function or array map?

基于这段代码,我想使用箭头函数,我不太习惯.. 最好的写法是什么?

我想保持相同的排序顺序。因为“selectedHeader”就像你猜的那样,一个基于 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);

如果要使用箭头函数,可以使用过滤器

    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);