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…
老实说,我已经在注释中提到了这一点。此外,如果您阅读文档,这样的问题也可以得到解决。所以,在我看来,回答他们是不对的。我仍然会投票,因为它确实回答了问题。