如果成功,则更新函数以返回true

时间:2019-07-14 09:10:30

标签: javascript reactjs

如何使下面的函数成功返回true,即地图是否到达最后一行?

  const setItemTag = (id, tag) => {
    setItems(
      items.map(item=> {
        if (item.id !== id) return item
        if (item.tags.length === 2) return item
        if (item.type && item.type !== tagType(tag)) return item
        if (item.tags.includes(tag)) return item
        item.type = tagType(tag)
        item.tags = [...item.tags, tag]
        return item //if it reaches here, have the `setItemTag` function returning true
      })
    )
  }

1 个答案:

答案 0 :(得分:2)

创建一个变量来存储true或false。然后在到达末尾时进行设置。然后返回。

  const setItemTag = (id, tag) => {

    let at_least_one_gets_to_the_end = false;

    setItems(
      items.map(item=> {
        if (item.id !== id) return item
        if (item.tags.length === 2) return item
        if (item.type && item.type !== tagType(tag)) return item
        if (item.tags.includes(tag)) return item
        item.type = tagType(tag)
        item.tags = [...item.tags, tag]

        at_least_one_gets_to_the_end = true

        return item //if it reaches here, have the `setItemTag` function returning true
      })
    )

    return at_least_one_gets_to_the_end;

  }