Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果成功,则更新函数以返回true_Javascript_Reactjs - Fatal编程技术网

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

Javascript 如果成功,则更新函数以返回true,javascript,reactjs,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

如果成功,我如何使下面的函数返回一个
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
      })
    )
  }

创建一个变量来存储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;

  }

创建一个变量来存储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;

  }

数组中是否只有一项?为什么要使用
map
?如果
映射
到达
返回项目
时,您是否可以使用
部分
每个
?另外,
map
正在对原始数组进行变异。您可以使用
标志
并在
返回项
@adiga之前将其设置为true,
映射
不会改变原始数组,它总是创建一个新数组。但是,其引用从原始数组传递到映射数组的对象在此过程中会发生变化。数组中是否只有一项?为什么要使用
map
?如果
映射
到达
返回项目
时,您是否可以使用
部分
每个
?另外,
map
正在对原始数组进行变异。您可以使用
标志
并在
返回项
@adiga之前将其设置为true,
映射
不会改变原始数组,它总是创建一个新数组。但是,其引用从原始数组传递到映射数组的对象在此过程中会发生变化。