javascript - JS:箭头函数还是数组映射?
问题描述
基于这段代码,我想使用箭头函数,我不太习惯.. 最好的写法是什么?
我想保持相同的排序顺序。由于“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);
推荐阅读
- javascript - FullCalendar v3 - 在视图更改时更改事件源
- java - 我们能否将测试结果 TestNG 报告或范围报告集成到 Microsoft 团队
- powershell - 如何清除使用 Invoke-RestMethod 中的 sessionvariable 参数创建的 webrequestsession 会话
- sqlite - 如何使用 LINQ 查询从数据库中获取多列值到列表中
- c# - Windows 窗体。工具箱项目从设计视图中消失
- node.js - 为什么 DynamoDB 性能会随着并行读取而降低?
- jenkins - Jenkins 角色策略 - 分配角色
- requirejs - Magento 2 中的 Requirejs 给了我 undefined 而不是我的库
- spring-security - 为什么登录成功后无法重定向?
- c++11 - 我可以在模板函数代码中使用 2 个不同的函数返回不同的数据类型吗?