我有一个对象数组,对象可以有可选的name
值或subject
值。
同时我有一个过滤字符串。
我需要编写过滤函数,检查这些值中是否包含该字符串。
const filterString = e.target.value.toLowerCase();
if (filterString != "") {
let filteredItemsList = this.state.itemsList.filter(
el =>
el.subject
.toLocaleLowerCase()
.includes(e.target.value.toLocaleLowerCase()) ||
el.name
.toLocaleLowerCase()
.includes(e.target.value.toLocaleLowerCase())
);
this.setState({
itemsList: filteredItemsList,
filter: e.target.value.toLocaleLowerCase()
});
这是我现在拥有的内容。我遇到了错误,例如Cannot read property "toLocaleLowerCase" of undefined
,因为我的元素具有名称OR主题,我该如何避免这种情况?
name
或subject
,你想要做什么? - Fahd Lihidheb?.
, 或者在引用之前需要显式地测试属性。 - crashmstr