【问题标题】:Return a single array individually单独返回一个数组
【发布时间】:2019-01-26 13:21:47
【问题描述】:

我想获取第一个数组的值,以获取以绿色标记为 1 的图片数组的示例。我该怎么做?

这是一个包含更大图片的数组

if (id === 1) {
  this.groupPermissionList.map(p => {
    const permArr = p.permissions;
    console.log(permArr);
  });
}

这就是我从服务中获取数据的方式,但现在我只想返回第一个列表。第二名单和第三个人。

【问题讨论】:

    标签: javascript arrays typescript arraylist angular6


    【解决方案1】:

    如果您只想注销 id 为 1 的数组,那么您需要先过滤列表。

    this.groupPermissionList.filter(p => p.id === 1).map(p => {
        //console.log(p);
        console.log(p.permissions);
    });
    

    如果您只希望匹配一项,则可以改用find

    this.groupPermissionList.find(p => p.id === 1).permissions
    

    您可能需要添加undefined 检查

    let group = this.groupPermissionList.find(p => p.id === 1);
    if(group) console.log(group.permissions)
    

    【讨论】:

    • 我已经记录了 permArr 这与 p.permissions 相同。我确实想返回第一个数组,只查看标记为 1 的图片
    • 好的,在这种情况下,您上传​​的代码已过期。我还编辑了我的答案以首先过滤集合。
    • 我已经编辑了帖子。我想要做的是获取 permArr[0] 但这反而返回该数组中的第一个对象。理想情况下,我应该得到第一个数组并忽略其他 2
    • 您可以尝试应用我的答案吗?
    【解决方案2】:

    您需要首先在this.groupPermissionList 上使用reduce 以仅获取列表中与您想要的ID 对应的元素,然后映射它的权限,如果我理解您的意思的话

    【讨论】:

    • 不,我不是这个意思。我想将这 3 个数组分成单独的数组,这样我就可以获取第一个数组的数据,例如 permArr[0] 但这会返回数组中的对象
    猜你喜欢
    • 2021-11-26
    • 2016-11-20
    • 2017-06-11
    • 2018-12-04
    • 2018-07-08
    • 2017-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多