javascript - 在开关情况下无法识别对象的属性
问题描述
我有一个
将对象作为输入的函数。这个对象总是看起来像:
{
title: "Gesso:",
categorical: "",
text: "",
classe: "Conduta",
type: 3
}
我作为输入的所有对象都具有此属性数字“类型”。根据它,我构建了另一个对象,它是函数的输出。举个例子:
如果 type=1 -> 我返回 {letter:input.a} 如果 type=2 -> 我返回 {letter:input.b}
对于这种情况,我使用如下 switch 语句(这是我遇到问题的函数):
resposta(answer){
let toReturn;
switch(answer.type) {
case 1:
toReturn = {
resposta:answer.text,
obs: ''
};
break;
case 2:
toReturn = {
resposta:answer.categorical,
obs: ''
};
break;
case 3:
toReturn = {
resposta:answer.categorical,
obs:answer.text
};
break;
default:
toReturn = {
resposta:'',
obs:''
};
break;
};
return toReturn;
};
我已经检查了正在传递的对象,它们都具有代码中的所有属性,包括 answer.type。
当我:
console.log(answer.type === 1 || answer.type ===2 || answer.type ===3)
我进入true
所有的对象。
但是,由于某种原因,该函数总是返回默认情况,无论我将哪个答案对象传递给它。
function resposta(answer) {
let toReturn;
switch (answer.type) {
case 1:
toReturn = {
resposta: answer.text,
obs: ''
};
break;
case 2:
toReturn = {
resposta: answer.categorical,
obs: ''
};
break;
case 3:
toReturn = {
resposta: answer.categorical,
obs: answer.text
};
break;
default:
toReturn = {
resposta: '',
obs: ''
};
break;
};
return toReturn;
};
let ans = {
title: "Gesso:",
categorical: "dfasdfasz",
text: "",
classe: "Conduta",
type: 3
}
console.log(resposta(ans))
解决方案
推荐阅读
- file - URLDownloadToFile 中的 IBindStatusCallback 未正确返回最终文件大小
- php - 将所有购买重定向到自定义感谢页面 - 特定页面 ID 除外
- python - 升级 seaborn 但运行 sns.__version__ 时版本仍然相同
- python - CUPY:矩阵向量乘法比向量向量乘法和小尺寸的 l2norm 更快
- swift - SwiftUI 在打开地图时显示特定地标
- c# - EF Core 代码首次迁移:“无法确定一对一关系的子/依赖方”
- html - 表格标题和正文布局
- ruby-on-rails - ActiveAdmin 嵌套 has_many
- node.js - 我在使用 AWS SES 发送电子邮件时收到“ConfigError:Missing region in config”
- kubernetes - 设置 Kubernetes 时,为什么我的 Gitlab GUI 看不到 Helm Tiller 应用程序?