gpt4 book ai didi

Javascript 循环推送函数

转载 作者:行者123 更新时间:2023-11-28 18:13:19 25 4
gpt4 key购买 nike

我正在尝试将图表中的数据从 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 行周围的注释来查看所需的输出。

感谢您的帮助。

最佳答案

您想要执行的操作如下:

将您的 STORE_ASTORE_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 的内容(如果其值不为假),或者将其设置为 [](如果它为假)。

为了减少名称中的冗余,我会写:

Stores[json[i].Store] = Stores[json[i].Store] || [];
Stores[json[i].Store].push(value);

然后您可以稍后使用 Stores.AStores.B、... 访问它

关于Javascript 循环推送函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41170733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com