Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
与数组字符串一起使用时,Javascript文件环不起作用_Javascript_Arrays_Filter - Fatal编程技术网

与数组字符串一起使用时,Javascript文件环不起作用

与数组字符串一起使用时,Javascript文件环不起作用,javascript,arrays,filter,Javascript,Arrays,Filter,我试图用字符串数组过滤JavaScript数组(JSON数组),并将其自身设置回原处 我正在使用这段代码(从allRecords中删除了JSON.stringiFy,这只是为了在控制台上显示记录) 这里的statusFilter是一个字符串数组,而allRecords是一个对象数组 以下是控制台中的日志 状态过滤器--->已支付 ClaimsDemo.js:119所有记录---> 实际上它无法执行这一行 var filteredRecords = allRecords.filter(rec =&

我试图用字符串数组过滤JavaScript数组(JSON数组),并将其自身设置回原处

我正在使用这段代码(从allRecords中删除了JSON.stringiFy,这只是为了在控制台上显示记录)

这里的
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);