Array.prototype.map() expects a return value from arrow function

2,467 阅读1分钟

Array.prototype.map() expects a return value from arrow function array-callback-return

image.png

解决


const data = res.data.map((x: any) => ({
    title: x.deptName,
    value: x.id.toString(),
    children: x.children.map((y: any) => ({
        title: y.deptName,
        value: y.id.toString(),
    })),
}))

学习:forEach, map, filter方法区别

  1. forEach循环,循环数组中每一个元素并采取操作, 没有返回值, 可以不用知道数组长度
  2. map函数,遍历数组每个元素,并回调操作,需要返回值,返回值组成新的数组,原数组不变
  3. filter函数, 过滤通过条件的元素组成一个新数组, 原数组不变
  4. some函数,遍历数组中是否有符合条件的元素,返回Boolean值
  5. every函数, 遍历数组中是否每个元素都符合条件, 返回Boolean值
function setDefaultWP() {
    let arr = [...formData.infos]
    let obj = { ...formData }
    if (cheackManage.value) {
        arr.map((z, i) => (z.isDefault = i != cheackManage.index ? 0 : 1))
    } else {
        arr.map((x) => (x.isDefault = 0))
    }
    obj['infos'] = arr
    setFormData(obj)
    cancelDeleteFn()
}