如何使下面的函数成功返回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
})
)
}
答案 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;
}