【发布时间】:2017-07-12 12:01:43
【问题描述】:
在我的 Angular 应用程序中,我有一个向下钻取到数组的函数,然后使用过滤器函数在“已完成”为“假”的新数组中提取值。
这按预期工作。我们的数据是这样的,数组中总是有一个对象的“已完成”属性设置为“假”,所以我可以将 [0] 设为目标。所以,从那里我需要做的就是将其设置为“true”。但是,无论出于何种原因,如何完成这最后一步都是我无法理解的。
这是我的全部功能,也是迄今为止我尝试过的:
private completeLastWorkflowStatus() {
let currentService = this.checkDiscipline();
for (let service of this.client.services) {
if (service.service === currentService) {
let targetWorkflow = service.workflow;
let inCompleteWorkflow = targetWorkflow.filter(workflow => workflow.completed === false);
console.log(inCompleteWorkflow);
if (inCompleteWorkflow[0].completed === false) {
inCompleteWorkflow[0].completed === true;
console.log(inCompleteWorkflow[0].completed);
}
}
}
}
对于上面列出的最后一个 console.log,我仍然得到“false”作为值。我在这里想念什么?如何将数组中的这个对象的“完成”值设置为“真”?
【问题讨论】:
-
=用于分配,而不是===。 (另外,您不需要if,因为您已经知道该属性是false,因为过滤器操作。可能您应该测试if (inCompleteWorkflow.length > 0)。) -
要给某个东西赋值,你使用
=,而不是===。 -
啊,当然。现在很明显,我看到了。谢谢。
标签: javascript angular typescript