javascript - 对象是否将属性名称转换为字符串?不明白为什么这行得通
问题描述
处理一段代码,这发生在我身上:
async function getStatusesListForFilter(statusesToFilter, allStatuses) {
const arrayOfStatuses = Array.isArray(statusesToFilter)
? statusesToFilter
: statusesToFilter
.split(',')
.filter(item => item !== '')
.map(item => item.trim());
const filterOptions = {
Active: DELIVERIES.ACTIVE_STATUSES,
Inactive: DELIVERIES.INACTIVE_STATUSES,
All: allStatuses.map(status => status.name),
};
return filterOptions[arrayOfStatuses] || arrayOfStatuses;
}
任何人都可以解释为什么会这样吗?
return filterOptions[arrayOfStatuses] || arrayOfStatuses;
这基本上是在做这个filterOptions[['Any Value']]并且它有效!
在此先感谢,该对象似乎将您在 [] 之间传递的任何内容解析为字符串。
解决方案
推荐阅读
- opengl - 使用opengl进行颜色切换
- html - 延伸到父 Div 的全高的子 Div
- android - 根据下拉列表中选择的值获取 Firebase 数据
- bootstrap-4 - 带有示例仪表板的 Bootstrap 4.1 文档中缺少类侧边栏
- python - LSTM,Keras - 训练和测试数据集上的损失图
- bash - Bash:本地数组阴影参数最终为空
- sql - 在一个 SQL Server 存储过程中同时包含 INSERT 和 UPDATE 查询
- vue.js - TypeError:无法读取未定义的属性“$http”
- azure-cosmosdb - Cosmos DB:网关不能直接服务跨分区查询
- c# - C# 图形:区域剪辑和命中测试