JavaScript 中 toUpperCase 无法与对象中的项目一起使用
2020-05-16
283
我不明白为什么这会返回错误。
item.Question.toUpperCase is not a function
我在带有 react 的 expo 应用程序中收到此错误,但控制台中没有抛出任何错误
错误:
TypeError: item.Question.toUpperCase is not a function. in
item.Question.toUpperCase()
item.Question.toUpperCase
is undefined
我尝试创建新变量为
var Question = item.Question.toUpperCase()
但似乎不起作用,所以这里是完整的代码
else if(item.Title == undefined){
const itemData = `${item.Question.toUpperCase()} ${item.answer.toUpperCase()} ${item.keyword.toUpperCase()}`;
const textData = search.toUpperCase();
return itemData.indexOf(textData) > -1;
item 是一个对象,其中 Question 是一个字符串
谢谢
编辑: 因此,经过一些记录后,我发现此区域出现错误:
console.log(item.keyword,item.Title)
console.log(typeof item.Question, item.Question)
const itemData = `${item.Title.toUpperCase()} ${item.Question.toUpperCase()} ${item.answer.toUpperCase()} ${item.keyword.toUpperCase()}`;
const textData = search.toUpperCase();
console.log(typeof itemData,typeof textData)
在记录 item.Question 和类型时,我得到了数字和 NaN,这很奇怪,因为从我的数据库来看,它应该提取字符串“this is a strng10” 对数据库的所有其他调用似乎工作正常。它们将 item.Question 的正确类型指定为 String。
所以我猜我试图解决的问题是如何将字符串转换为 NaN 数字?
2个回答
这似乎对我有用。您确定您传递了正确的数据类型吗?
let item = {
Question: "test",
Title: undefined,
Answer: "thing",
Keyword: "wow"
}
if (item.Title === undefined) {
const itemData =
`${item.Question.toUpperCase()} ${item.Answer.toUpperCase()} ${item.Keyword.toUpperCase()}`
itemData
}
控制台返回
“TEST THING WOW”
Andrew Ryan Davis
2020-05-16
因此,在返回到我对数据库的调用后,我在收到问题之前发现了一个额外的 +,删除它解决了这个问题。很抱歉浪费了你所有的时间。
问题出在对象内部:
Question: + childData.Question
Aatish Parson
2020-05-16