Vas*_*its 2 javascript filter typescript ecmascript-6
假设我们具有以下.filter函数:
search(searchQuery: string) {
let results = myArray.filter(item =>
item.title.toLowerCase().includes(searchQuery) ||
item.description.toLowerCase().includes(searchQuery)
);
return results;
}
Run Code Online (Sandbox Code Playgroud)
对于此示例,我们可以考虑item
并非description
总是具有属性,而是仅在某些情况下具有。在这种情况下,函数将失败并显示错误:
错误TypeError:无法读取未定义的属性'toLowerCase'
我们如何仍可以在数组中搜索,并description
仅在属性存在的情况下才将其包括在搜索中?.filter()
函数中有可能吗?
您可以采用默认值。
要么直接
(item.description || '').toLowerCase().includes(searchQuery)
Run Code Online (Sandbox Code Playgroud)
或采用默认值进行销毁。
results = myArray.filter(({ title = '', description = '' }) =>
title.toLowerCase().includes(searchQuery) ||
description.toLowerCase().includes(searchQuery)
);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
43 次 |
最近记录: |