与数组字符串一起使用时,Javascript文件环不起作用
我试图用字符串数组过滤JavaScript数组(JSON数组),并将其自身设置回原处 我正在使用这段代码(从allRecords中删除了JSON.stringiFy,这只是为了在控制台上显示记录) 这里的与数组字符串一起使用时,Javascript文件环不起作用,javascript,arrays,filter,Javascript,Arrays,Filter,我试图用字符串数组过滤JavaScript数组(JSON数组),并将其自身设置回原处 我正在使用这段代码(从allRecords中删除了JSON.stringiFy,这只是为了在控制台上显示记录) 这里的statusFilter是一个字符串数组,而allRecords是一个对象数组 以下是控制台中的日志 状态过滤器--->已支付 ClaimsDemo.js:119所有记录---> 实际上它无法执行这一行 var filteredRecords = allRecords.filter(rec =&
statusFilter
是一个字符串数组,而allRecords是一个对象数组
以下是控制台中的日志
状态过滤器--->已支付
ClaimsDemo.js:119所有记录--->
实际上它无法执行这一行
var filteredRecords = allRecords.filter(rec => rec.Status__c == statusFilters);
请您帮忙。您的第一个问题是
字符串化过滤器方法是用于数组的
第二个问题是,您不能说rec.Status\uu c===statusFilters
statusFilters
是数组,Status\uu c
是字符串。映射到具有正确键名的对象数组,并在此数组中搜索rec.Status\uu\c
indexOf
是一种在数组中查找的方法
如果statusFilters只是包含以下类型的数组
["Void","Denied"]
然后
如果statusFilters是一个对象数组,如
[ {"Status__c": "Void" }];
然后
allRecords
是一个字符串。您正在调用字符串上的筛选器?filter方法用于数组,而不是stringi,实际上我最初没有;我没有那个JSON.stringify,我保存它只是为了控制台。它仍然不起作用。您的控制台中应该会出现错误。如果你的问题中包含错误的全文,那么帮助就容易多了。此外,JSON是一种文本格式;这就是JSON.stringify
生成字符串的原因。没有JSON数组。什么是component.get(),它是可观察的还是不可观察的?这一行中断了,没有执行。
["Void","Denied"]
var filteredRecords = allRecords.filter(rec => statusFilters.indexOf(rec.Status__c)>-1);
[ {"Status__c": "Void" }];
var filteredRecords = allRecords.filter(rec => ( statusFilters.map(x=>x.Status__c)).indexOf(rec.Status__c)>-1);