weixin_45375089
lxgFlorian
2021-02-01 15:09
采纳率: 100%
浏览 31

vue中数组赋值问题

                       问:1和2中 _checkList数组的值的区别
                      1. 
                         var _checkList=[];
                         var _temp = {
							'exd_prop_desc': '',
							'exd_prop_option_list': []
						};
						for(var _i = 0; _i <3; _i++) {
							                      
							_checkList.push_temp;
							
						}
                      2._checkList=[ {
							'exd_prop_desc': '',
							'exd_prop_option_list': []
						}, {
							'exd_prop_desc': '',
							'exd_prop_option_list': []
						}, {
							'exd_prop_desc': '',
							'exd_prop_option_list': []
						}]
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • zhshchilss
    zhshchilss 2021-02-01 16:29
    已采纳

    也不行,...temp里的引用还是一个.还是deepClone安全点

    点赞 评论
  • jyn15159
    木蓝茶陌*_* 2021-02-01 15:38

    1中的_checkList应该是个空数组吧,数组添加元素的方法:

    _checkList.push(_temp);

    点赞 评论
  • hu071700
    AllPromise 2021-02-01 16:03

    2是1经过遍历添加过后的值

    点赞 评论
  • weixin_45375089
    lxgFlorian 2021-02-01 16:05

    嗯嗯,但是这两个应用的话有很大的区别(不好意思第一个那个是_checkList.push(temp))

    点赞 评论
  • weixin_45375089
    lxgFlorian 2021-02-01 16:06

    我写的时候获得的值感觉没有问题,但是将这两个值和data里面的数组替换后,就差别贼大

     

    点赞 评论
  • Menkongkong
    Menkongkong 2021-02-01 16:23

    没有明白你问题的描述,替换后差别很大是差别在什么地方。

     

    点赞 评论
  • zhshchilss
    zhshchilss 2021-02-01 16:28

    一个是一个引用对象,一个是三个引用对象。
    第一种,如果你修改了数组其中一个的值,则三个都变了

    所以第一个应该是.push({...temp})

    点赞 评论

相关推荐