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);
基于这段代码,我想使用箭头函数,我不太习惯.. 最好的写法是什么?
我想保持相同的排序顺序。因为“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);