我的 array.filter 语法有什么问题?

333*_*att 0 javascript typescript angular

this.firmCategories = this.firmCategories.filter(x => {
  x.id !== firmCatId;
});
Run Code Online (Sandbox Code Playgroud)

我可以看到,通过使用我的调试器,firmCategories 数组中有一个元素具有匹配的 ID,但是,在执行此操作后,我留下了一个完全空的数组。

我希望除了具有匹配 ID 剩余的元素之外的所有元素。这是怎么回事?

Nin*_*olz 5

你缺少一个return声明。

this.firmCategories = this.firmCategories.filter(x => {
    return x.id !== firmCatId;
});
Run Code Online (Sandbox Code Playgroud)

或者采用没有函数体的箭头函数。

this.firmCategories = this.firmCategories.filter(x => x.id !== firmCatId);
Run Code Online (Sandbox Code Playgroud)