【发布时间】:2018-03-02 23:25:25
【问题描述】:
当我运行下面的代码时,我得到了错误:
未捕获的类型错误:text.toLowerCase 不是函数
const getVisibleExpenses = (expenses, { text, sortBy, startDate,
endDate }) => {
return expenses.filter((expense) => {
const startDateMatch = typeof startDate !== 'number' ||
expense.createdAt >= startDate;
const endDateMatch = typeof endDate !== 'number' || expense.createdAt
<= endDate;
const textMatch =
expense.description.toLowerCase().includes(text.toLowerCase());
return startDateMatch && endDateMatch && textMatch;
});
};
我不知道出了什么问题。有什么想法吗?
【问题讨论】:
-
什么是“文本”?
-
听起来像费用。描述不是一个字符串。您确定该行会引发错误吗?错误显示
text.toLowerCase而不是expense.description.toLowerCase。任何状况之下。只要text不是字符串的实例,就会专门抛出该错误。 -
var text; (text || '').toLowerCase() -
toLowerCase() 仅适用于字符串
-
您发布了更多代码,但仍不是minimal reproducible example。我们无法将其放入浏览器并重现您的问题 - 几乎所有变量都缺少定义。
标签: javascript reactjs function