Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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_Reactjs - Fatal编程技术网

javascript筛选器和切片无法正常工作

javascript筛选器和切片无法正常工作,javascript,arrays,reactjs,Javascript,Arrays,Reactjs,我有以下代码: conditions.slice(0).filter(condition => condition.processsteptemplate === stepId); 它应该从数组中分割出一些对象。问题是===不匹配,所以所有元素仍在数组中 我的失败是什么 更新: 示例代码: var条件=[{ 身份证号码:14, 条件类型:1, processsteptemplate:9, 删除:false, processTemplate\u id:0 }, { 身份证号码:15, 条

我有以下代码:

conditions.slice(0).filter(condition => condition.processsteptemplate === stepId);
它应该从数组中分割出一些对象。问题是===不匹配,所以所有元素仍在数组中

我的失败是什么

更新:

示例代码:

var条件=[{
身份证号码:14,
条件类型:1,
processsteptemplate:9,
删除:false,
processTemplate\u id:0
},
{
身份证号码:15,
条件类型:1,
processsteptemplate:9,
删除:false,
processTemplate\u id:0
},
{
身份证号码:16,
条件类型:1,
流程步骤模板:10,
删除:false,
processTemplate\u id:0
}
],
stepId=9;
const output=conditions.slice(0).filter(condition=>condition.processsteptemplate==stepId);

console.log(输出)
此处删除processsteptemplate=10的数组

让arr=[
{id:14,conditiontype:1,processsteptemplate:9,deleted:false,processTemplate_id:0},
{id:15,conditiontype:1,processsteptemplate:9,deleted:false,processTemplate_id:0},
{id:16,conditiontype:1,processsteptemplate:10,deleted:false,processTemplate_id:0}
]
设阶跃=9;
让结果=arr.filter((e)=>e.processsteptemplate==步骤);

控制台日志(结果)为什么<代码>条件。切片(0)。过滤器
filter
无论如何都会返回另一个数组。只需删除切片?尝试
var output=conditions.filter(x=>x.processsTemplate==stepId);console.log(输出)
。关键是,
filter
永远不会操作原始数组。它将返回一个已筛选值的列表准备尝试。。。相同的resultslice在这里没有效果,因为filter不会改变条件数组,而是返回一个新的数组:
var metConditions=conditons.filter…
老实说,我已经在注释中提到了这一点。此外,如果您阅读文档,这样的问题也可以得到解决。所以,在我看来,回答他们是不对的。我仍然会投票,因为它确实回答了问题。