我需要将动态值分配给 JavaScript 字典以用于 echarts,但是在将动态值分配给字典时,它显示的行为与分配 s 相比有所不同......
我需要将动态值分配给 JavaScript 字典以用于 echarts,但是当将动态值分配给字典时,它显示的行为与分配静态值不同。
分配静态值时:
response = {
"stacks": {"5G_L2": [{"Open": "43"},{"Close": "24"}],
"5G_L3": [{"Open": "12"},{"Close": "2"}]
}
};
调试窗口显示如下:
而当动态分配值时,如下所示:
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
};
调试窗口如下:
它添加了一个额外的数组层。我需要有静态分配结构来支持 echarts,请有人提供建议?
提前致谢。
在 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;
}
如我所见,浅复制在这种情况下是不够的,因为浅复制将使 businessPriority.rating() 和 businessPriorityCopy.rating() 引用同一个对象,因此无论该对象的某些属性是否发生更改,它们始终相等
所以我是对的吗?如果是这样,为什么这本书在这种情况下讨论浅层复制?
/////////////////////