我正在尝试将图表中的数据从JSON输出推送到多个数组中:
var STORE_A = [];
var STORE_B = [];
var STORE_C = [];
var STORE_D = [];
var STORE_E = [];
var STORE_F = [];
为了避免脚本中出现无数行,我想使用循环。 我想出了如何进行循环,但我不能在“.push”之前使用我的var。
var storeName = ("STORE_"+json[i].Store);
storeName.push(value); // Should give me STORE_A.push(value); STORE_B.push(value);...
以下是我的问题https://codepen.io/BastienAustin/pen/bBQQQz
的代码您可以通过在第35行附近取消评论来查看所需的输出。
感谢您的帮助。
答案 0 :(得分:3)
您想要做的是以下内容:
将STORE_A
放到STORE_F
对象中:
var Stores = {
STORE_A: [],
STORE_B: [],
STORE_C: [],
STORE_D: [],
STORE_E: [],
STORE_F: []
}
然后你可以使用:
来引用它们Stores["STORE_"+json[i].Store].push(value);
另一种方法是创建一个空对象:
var Stores = {};
在你的循环中你可以写:
Stores["STORE_"+json[i].Store] = Stores["STORE_"+json[i].Store] || [];
Stores["STORE_"+json[i].Store].push(value);
如果value = value || []
构造的值不是假的,value
构造将保留[]
的内容,如果它是假的,则会将其设置为Stores[json[i].Store] = Stores[json[i].Store] || [];
Stores[json[i].Store].push(value);
。
为了减少我写的名字的冗余:
Stores.A
然后您可以稍后使用Stores.B
,class A(object):
def __init__(self,x,y):
self.x = x
self.y = y
,...