往一个数组对象里面传值,如果id已经存在就替换id同一个对象里面的另一个值。没有就添加

<div  @click='choiceAnswer1(item ,keyindex)'  v-for="(item,keyindex) in arrayData">{{item}}</div>

choiceAnswer1(data,index){//点击触发的函数

var answer1=[];

var  flag=false;//这里有个flag标记,用处下面介绍

answer1.push(data.answer);

var  fullanswer={    //是把他放在结果数组里保存起来。数组的形式是[{},{},{}]    就是这样的值

   tlid:data.tlid,

    answer: answer1 ,//这里的answer是个数组哦

}

if(this.dataResult.length==0){//把结果放在this.dataResult里面。这里判断如果他是空的说明是第一次点击.就先放进去一个

      this.dataResult.push(fullanswer);

}else{//接下来的点击。就要判断啦

      for(var  i  in  this.dataResult){

           if(this.dataResult[i].tlid==data.tlid){//如果有id相等的。就把这个id对应的answer对应的值改成现在点击的这个。

                     this.dataResult[i].answer=[];

                     this.dataResult[i].answer.push(data.answer);

                       flag=true;//如果有相同的flag标记改变

               }

          }//结束for循环

       if(flag==false){//循环结束这个值是false说明没有找到tlid相同的内容。就把这个值push进去。

          this.dataResult.push(data.answer);

        }

   }

}

猜你喜欢

转载自blog.csdn.net/qq_33769914/article/details/83855805