![](/img/trans.png)
[英]Are there times when array.forEach() is better than array.map()?
[英]looking for better way than having switch statement in array.map for javascript
寻找比在 array.map 中为 javascript 使用 switch 语句更好的方法。 基本上有没有更好的方法来更改给定 object 或其他东西的数组中的所有值? 在这种情况下,我想将数组的所有值缩写或更改为给定的不同值。 我应该使用另一个 map 还是另一个 object? Javascript Es6 问题我有这个:
const abvDepartments = departments.map(equip => {
switch (equip) {
case 'service':
return 'Svc';
break;
case 'help':
return 'HLP';
break;
case 'contracts':
return 'Con';
break;
default:
return '';
}
});
这里有很多可能性,但一种选择是这样的:
const abvDepartments = departments.map(equip => {
return {
'service': 'Svc',
'help': 'HLP',
'contracts': 'Con'
}[equip] || '';
});
如果您愿意,并且您没有在 map 中做任何其他事情,您可以进一步缩短它:
const abvDepartments = departments.map(equip => ({
'service': 'Svc',
'help': 'HLP',
'contracts': 'Con'
}[equip] || ''));
您可以保留 object,如下所示:
const options = {'service':'Svc','help': 'HLP' }
接着:
const abvDepartments = departments.map(equip => options[equip] || "");
在你的逻辑之外声明常量,这将永远是整洁的。 快乐编码:)
// declare constants with uppercase
const DEP_CODE = {
'service': 'Svc',
'help': 'HLP',
'contracts': 'Con'
}
const abvDepartments = departments.map(equip => DEP_CODE[equip] || '' );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.