收藏
回答

修改云函数返回值,不会影响原值的吧?

云函数:return await db.collection('product').get()

小程序端:前面省略.then(res => {

res.result.data[0].price=10000

另一问,如需要再处理res,是let xx=res,再处理,还是直接把res改了。一般怎么写法好?


回答关注问题邀请回答
收藏

3 个回答

  • brave
    brave
    2020-03-27

    我喜欢写 let xx = res,并不喜欢直接修改原来的。我也不太清楚到底怎么写才是最优化的[害]

    2020-03-27
    有用 1
    回复 5
    • 台州满天星
      台州满天星
      2020-03-27
      优化倒不至于,强迫症有点。依样画葫芦阶段想找个标准的葫芦
      2020-03-27
      回复
    • brave
      brave
      2020-03-27回复台州满天星
      害反正就觉得直接改怪怪的,复制一个新的出来改比较舒服
      2020-03-27
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-03-27回复brave
      真正的复制是深拷贝
      2020-03-27
      回复
    • brave
      brave
      2020-03-27回复Mr.Zhao
      并不懂这些哈哈
      2020-03-27
      回复
    • 老张
      老张
      2020-03-27
      你这样,修改xx还是会影响到了res的
      2020-03-27
      回复
  • 何以为歌
    何以为歌
    2020-03-28

    Object.assign({},res)

    2020-03-28
    有用
    回复 1
    • 台州满天星
      台州满天星
      2020-03-29
      这写法是不是和 ...res 差不多
      2020-03-29
      回复
  • 金煜峰
    金煜峰
    2020-03-27

    res 是 Object 类型的时候

    let xx = res

    然后修改 xx,其实 res 也会被修改掉的(其实指向的是同一个内存地址)

    所以没啥意义哈哈哈

    2020-03-27
    有用
    回复 1
    • brave
      brave
      2020-03-27
      [大佬] 感谢解惑
      2020-03-27
      回复
登录 后发表内容
问题标签