也要访问JSON"/>
每次即使使用无效密钥也要访问JSON
因此,我有一个内含JSON的函数,它的值包含一个键对,其中键被作为参数接收,值是另一个函数的返回,如下所示。
const normalizeKeyValuePair = (key, value) => {
const propertyHandler = {
speed: normalizeSpeed(value),
actions: normalizeActions(value)
};
return [normalizeField(key), propertyHandler[key] || normalizeValue(value)];
};
问题出在actions
键上。 key
收到的每个normalizeKeyValuePair
参数都被扔到actions
中并转到normalizeActions
。如何防止这种情况发生?
要了解为什么这是一个问题,这里是normalizeActions
。当actions
是基元时,JS会引发错误。
const normalizeActions = actions => {
const normalizedActions = [];
for(let action of actions) {
normalizedActions.push([action.name, action.desc]);
}
return normalizedActions;
}
谢谢。让我知道是否需要更多信息!
回答如下:每次调用normalizeKeyValuePair
时,在创建normalizeActions(value)
时都会调用propertyHandler
。
这应该按照您的意图进行:
const propertyHandler = {
speed: normalizeSpeed,
actions: normalizeActions
};
const normalizeKeyValuePair = (key, value) => {
const ph = propertyHandler[key];
return [normalizeField(key), (ph && ph(value)) || normalizeValue(value)];
};
更多推荐
每次即使使用无效密钥也要访问JSON
发布评论