8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

为 JavaScript 字典分配动态值

BigBen 2月前

104 0

我需要将动态值分配给 JavaScript 字典以用于 echarts,但是在将动态值分配给字典时,它显示的行为与分配 s 相比有所不同......

我需要将动态值分配给 JavaScript 字典以用于 echarts,但是当将动态值分配给字典时,它显示的行为与分配静态值不同。

分配静态值时:

     response = {
            "stacks": {"5G_L2": [{"Open": "43"},{"Close": "24"}],
                       "5G_L3": [{"Open": "12"},{"Close": "2"}]
                      }
                  }; 

调试窗口显示如下:

enter image description here

而当动态分配值时,如下所示:

            var datastck=[];
            var serverdata = '{{ barCdata | tojson }}';
            resPbar = $.parseJSON(serverdata);

            $.each(resPbar, function (i, item) {
              var di={};
              di[item.Team]=[{"Open": item.Open},{"Close": item.Close}];
              datastck.push(di);
            });

            
          response = {
            "stacks": datastck
                  };

调试窗口如下:

enter image description here

它添加了一个额外的数组层。我需要有静态分配结构来支持 echarts,请有人提供建议?

提前致谢。

帖子版权声明 1、本帖标题:为 JavaScript 字典分配动态值
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由BigBen在本站《dictionary》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 在 Vaughn Vernon 所著的《实施领域驱动设计》一书中,在值对象测试部分,作者讨论了如何使用浅拷贝而不是深拷贝来......

    在 Vaughn Vernon 的《实施领域驱动设计》一书中,在值对象测试部分,作者讨论了如何使用浅拷贝而不是深拷贝来测试对象的可变性。

    这是 BusinessPriority 的构造函数

    public final class BusinessPriority implements Serializable {
     private static final long serialVersionUID = 1L;
     private BusinessPriorityRatings ratings;
     public BusinessPriority(BusinessPriorityRatings aRatings) {
         super();
         this.setRatings(aRatings);
     }
     public BusinessPriority(BusinessPriority aBusinessPriority) {
         this(aBusinessPriority.ratings());
     }
    

    这是测试用例

     public void testCostPercentageCalculation() throws Exception {
         BusinessPriority businessPriority = new BusinessPriority(
             new BusinessPriorityRatings(2, 4, 1, 1));
         BusinessPriority businessPriorityCopy =
             new BusinessPriority(businessPriority);
     
        assertEquals(businessPriority, businessPriorityCopy);
     
        BusinessPriorityTotals totals = new BusinessPriorityTotals(53, 49, 53 + 49, 37, 33);
     
        float cost = businessPriority.costPercentage(totals);
        
        assertEquals(this.oneDecimal().format(cost), "2.7");
        assertEquals(businessPriority, businessPriorityCopy);
     }
    

    这是 equals 方法

    @Override
     public boolean equals(Object anObject) {
        boolean equalObjects = false;
        if (anObject != null && this.getClass() == anObject.getClass()) {
            BusinessPriority typedObject = (BusinessPriority) anObject;
            equalObjects =
            this.ratings().equals(typedObject.ratings());
        }
        return equalObjects;
     }
    

    This is the paragraph in the book where author talks about Shallow copy

    如我所见,浅复制在这种情况下是不够的,因为浅复制将使 businessPriority.rating() 和 businessPriorityCopy.rating() 引用同一个对象,因此无论该对象的某些属性是否发生更改,它们始终相等

    所以我是对的吗?如果是这样,为什么这本书在这种情况下讨论浅层复制?

    /////////////////////

返回
作者最近主题: