【发布时间】:2019-01-03 05:30:30
【问题描述】:
我正在尝试使用 match() 过滤 React 中数组的结果:
if (this.props.search) {
tracks.filter(result => {
return result.match(`/${this.props.search}/gi`);
});
}
但我得到了:
TypeError: result.match is not a function
我在这里遗漏了一些非常明显的东西吗?这是漫长的一天:/
tracks 数组示例:
0:
active: 1
artist: "CJ Bolland"
date_added: "2019-01-03 05:08:10"
date_modified: "2019-01-03 05:09:01"
duration: "00:05:54"
filename: "1546488490.mp3"
id: 2
in_playlist: false
online: 1
seconds: 354
time_ago: "1 hour ago"
title: "Sugar Is Sweeter (AVH Mix)"
type: "track"
user_id: 4
1:
active: 1
artist: "Cristoph"
date_added: "2019-01-03 05:08:46"
date_modified: "2019-01-03 05:10:01"
duration: "00:06:34"
filename: "1546488526.mp3"
id: 3
in_playlist: false
online: 1
seconds: 394
time_ago: "1 hour ago"
title: "Guffaz"
type: "track"
user_id: 3
**** 编辑 **** 这是实施Just code 的解决方案后发生的情况的屏幕截图(在 SO 上运行良好,但在 React 中不行)。如您所见,我记录了 3 件事,原始数组、搜索词和过滤后的数组,但过滤后的数组总是返回空。
【问题讨论】:
-
什么是轨道,里面有什么数据?
-
这是一个关联数组
-
可以分享
tracks的样本数据吗? -
刚刚添加 ;)
-
你正在使用
match函数到你的过滤函数中的一个对象