Javascript 数组内按对象键筛选

Javascript 数组内按对象键筛选,javascript,Javascript,使用中提供的示例,我如何更改它,以便能够在数组中的对象上按对象键进行过滤?现在它得到了一个错误:TypeError:el.toLowerCase不是一个函数 var searchTerm=lotty; var arr=[ {用户:威廉,留言:在纳米图书馆见我}, {用户:洛蒂,消息:听起来像个计划} ]; 函数过滤器{ 返回arr.filterfunctionel{ 返回el.toLowerCase.indexOfquery.toLowerCase>-1; } } var Filteredar

使用中提供的示例,我如何更改它,以便能够在数组中的对象上按对象键进行过滤?现在它得到了一个错误:TypeError:el.toLowerCase不是一个函数

var searchTerm=lotty; var arr=[ {用户:威廉,留言:在纳米图书馆见我}, {用户:洛蒂,消息:听起来像个计划} ]; 函数过滤器{ 返回arr.filterfunctionel{ 返回el.toLowerCase.indexOfquery.toLowerCase>-1; } } var Filteredar=filterItemssearchTerm; console.LogFilteredar el是被迭代的对象,而不是用户字符串,因此el.toLowerCase不起作用。根据您的需要,首先将el分解为用户:

var newUser=lotty; var arr=[ {用户:威廉,留言:在纳米图书馆见我}, {用户:洛蒂,消息:听起来像个计划} ]; 函数过滤器{ 返回arr.filterfunction{user}{ 返回user.toLowerCase.indexOfquery.toLowerCase>-1; } } var Filteredar=FilterItemsNewser;
console.LogFilteredar 当然,性能的答案是非常好的。但是如果你想使用destructure,你必须确保这个对象有用户密钥。像这样:user&&user.toLowerCase.includeQuery.toLowerCase

谢谢。“destructure”是指将用户密钥作为筛选器参数填充到对象中吗?这是一个非常简洁的解决方案。是的,如果您只需要一个对象中的一个属性,而不是整个对象,那么立即解构可以减少语法噪音。