【发布时间】:2018-02-22 00:54:36
【问题描述】:
我有以下代码:
conditions.slice(0).filter(condition => condition.processsteptemplate === stepId);
它应该从数组中切出一些对象。问题是 === 不匹配,所以所有元素仍在数组中...
我的失败是什么
更新:
示例代码:
var conditions = [{
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
}
],
stepId = 9;
const output = conditions.slice(0).filter(condition => condition.processsteptemplate === stepId);
console.log(output)
【问题讨论】:
-
为什么是
conditions.slice(0).filter?filter无论如何都会返回另一个数组。 -
只是删除切片?
-
试试
var output = conditions.filter(x => x.processsTemplate === stepId); console.log(output)。重点是,filter永远不会操纵您的原始数组。它将返回一个过滤值列表 -
已经试过了...同样的结果
-
slice 在这里不起作用,因为过滤器不会改变条件数组,而是 返回一个新的:
var metConditions = conditons.filter...
标签: javascript arrays reactjs