首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在以下Vue.js方法中,未筛选对象数组,且已筛选项内的值也未更改

问在以下Vue.js方法中,未筛选对象数组,且已筛选项内的值也未更改
EN

Stack Overflow用户
提问于 2020-07-08 16:34:09
回答 1查看 39关注 0票数 0

我正在尝试过滤一个对象数组,并根据条件将disabled设置为true。

代码语言:javascript
复制
      allUsers: [
      {
        id: "id1",
        name: "David",
        prof: "programmer",
        tasksNumber: 4,
        isAtWork: true,
        disabled: false,
      },
      {
       id: "id2",
        name: "Jessy",
        prof: "programmer",
        tasksNumber: 6,
        isAtWork: true,
        disabled: false,
      },
...
...
      ]

然后在一个方法中,我试图根据条件过滤allUsers,但在控制台日志中我总是看到所有用户,所以过滤和映射都不起作用:

代码语言:javascript
复制
editUsers(){
    if (some condition here) {
    this.aaUsers = this.allUsers.filter(user => user.prof === "designer" ||
          !tasksAllowedNumbers.includes(user.tasksNumber)).map(user=> user.disabled = true)
    }
...
}

我在stackoverflow上见过很多例子,但都没有解决这个问题。因此,目标是基于if条件过滤不匹配的职业,并且如果禁用数组不包括users tasksNumber,则将user tasksAllowedNumbers设置为true。如何才能正确地实现它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-08 16:45:08

map函数应该返回一个对象。请找到下面的代码。

​

代码语言:javascript
复制
let allUsers = [
      {
        id: "id1",
        name: "David",
        prof: "programmer",
        tasksNumber: 1,
        isAtWork: true,
        disabled: false,
      },
      {
       id: "id2",
        name: "Jessy",
        prof: "programmer",
        tasksNumber: 6,
        isAtWork: true,
        disabled: false,
      },{
        id: "id3",
        name: "David3",
        prof: "designer",
        tasksNumber: 3,
        isAtWork: true,
        disabled: false,
      },
      {
        id: "id4",
        name: "David4",
        prof: "programmer",
        tasksNumber: 4,
        isAtWork: true,
        disabled: false,
      },{
        id: "id2",
        name: "David2",
        prof: "programmer",
        tasksNumber: 2,
        isAtWork: true,
        disabled: false,
      }]
      
users = allUsers.filter(user => user.prof === 'designer' || ![1, 4].includes(user.tasksNumber)).map(user => { user.disabled = true; return user });


console.log('allUsers = ', allUsers);

​

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62790695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档