如何拿到对象数组中的某一对象的元素(JS的filter方法)

如何拿到对象数组中的某一对象的元素

  • 在写一个简单的商品管理系统的时候,遇到了一个问题,我接口中需要传递的参数是一个role_id,但是我在页面上显示是角色名称
  • 通过对filter()方法的使用,拿到对象数组中对象,
    • 其中this.state.rolesInfo表示的是一个对象数组
    • item是对象数组中的每一项(就是每一个对象)
    • item._id是对象中的一个属性
      通过传入的参数,判断拿到的参数和对象中的某个属性是否相等,进而拿到这个参数所在的对象,data就是经过筛选的后的对象数组
roleName=(role_id)=>{
    // 获取对象数组中的,某一对象的元素
    // 通过过滤,在不改变元数组的情况下
    // 返回筛选后符合条件的数组
    var data=this.state.rolesInfo.filter((item)=>{
        return  item._id===role_id
    })
    // 由于我的原数组一个对象数组,所以筛选后得到的数组
    // 也是一个对象数组,可以通过map拿到对象数组中对象的元素
    // 通过过滤,找到指定id的name值
    // console.log(data)
  return data.map((item)=>{
       return item.name
   })
}

你可能感兴趣的:(JavaScript,js,filter)