收藏
回答

collection.add()参数为数组时的问题

框架类型 问题类型 终端类型 AppID 基础库版本
小程序 Bug 工具 123 180911


- 提供一个最简复现 Demo

page({

    data:{

         _arr:['a','b',c']

            },

    _ADD:fucntion(){

        db.collection(XXX).add({

            data:{

                        arr: new Array(this.data._arr)//这里有错误?还是我不会用?

                    }

            ************************

    }

})

以上代码:

成功后,在集合里面显示的字段值为:

'arr':

    '0':[['a','b',c']]

不是应该像下面这样才对么:

'arr':

    '0':['a']

    '1':['b']

    '2':['c']

注:不想用[{}]的方式,能省点就省点

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

2 个回答

  • 强15851218976
    强15851218976
    2018-10-17

    new Array()是用数组的构造函数造一个数组,这个函数的用法之一就是array Array(element1, element2, ...),那么你把一个数组作为这个函数的第一个参数,自然就得到了一个只有一个数组element的数组。按你的意思应该这样。

    {

    ...

      data:{

           arr: this.data._arr,

      }

    ...

    }


    2018-10-17
    有用 1
    回复 1
    • 大尾巴狼
      大尾巴狼
      2018-10-17

      谢谢了

      2018-10-17
      回复
  • 半寸灰
    半寸灰
    2018-10-17

     new Array(this.data._arr)

    你这样子相当于


     let  a=new Array()

    a.push(this.data._arr);


    所以结果很正常

    没毛病


    2018-10-17
    有用
    回复
登录 后发表内容