【发布时间】:2017-05-25 05:17:11
【问题描述】:
所以我有一堆状态代码,在一个对象(来自 API)中,返回如下:
{
"location": [
"HOME_ADDRESS_INCOMPLETE",
"HOME_MISSING_ADDRESS"
],
"basics": [
"HOME_MISSING_TYPE"
],
"description": [
"HOME_MISSING_DESCRIPTION"
],
"immersions": [
"AT_LEAST_ONE_STAY_REQUIRED",
"SIMPLE_STAY_MISSING_HOURS",
"SIMPLE_STAY_MISSING_OFFERED_LANGUAGES",
"TANDEM_STAY_MISSING_HOURS",
"TANDEM_STAY_MISSING_OFFERED_LANGUAGES",
"TANDEM_STAY_MISSING_INTERESTED_LANGUAGES",
"TEACHER_STAY_MISSING_HOURLY_PRICE",
"TEACHER_STAY_MISSING_OFFERED_LANGUAGES",
"TEACHER_STAY_MISSING_WEEKLY_PACKAGES"
],
"rooms": [
"NO_ROOMS"
],
"photos": [
"AT_LEAST_ONE_HOME_IMAGE_REQUIRED"
],
"pricing": [
"MISSING_CURRENCY",
"SERVICE_WITHOUT_PRICE",
"DISCOUNT_WITHOUT_PERCENT",
"ROOM_WITHOUT_PRICE"
]
}
诸如location 之类的键名与设置向导中的一个步骤相关,用户必须根据缺少的内容放置该步骤,该步骤由HOME_ADDRESS_INCOMPLETE 等常量表示。
从这个对象和一个常量(如MISSING_CURRENCY)开始,然后返回该常量数组所属键的名称,最简洁或清晰的方法是什么?
这是我目前所拥有的,但它所做的只是返回数组本身:
const activeStep = Object.values(HomeStatusCodes).filter(statusArray => {
return statusArray.includes(homeActivationResponse.code)
})
【问题讨论】:
-
@Soviut 更新问题
-
所以在你的例子中,搜索
MISSING_CURRENCY应该返回"pricing"?
标签: javascript arrays loops ecmascript-6 constants