1000,200 > -6ren">
gpt4 book ai didi

javascript - 在 Javascript 中拆分和分配多个值的更好方法?

转载 作者:行者123 更新时间:2023-11-30 13:22:40 28 4
gpt4 key购买 nike

我有一个 for 循环,循环遍历用户创建的元素数量。这个插件有很多可用的设置,每个元素都可以接收它的特定设置。

  1. 用户设置按以下格式输入:speed_x: "1000,500 > 1000,200 > 0,0"这控制了 3 个独立元素 的 speed_x 输入/输出。 > 按对象分隔,逗号分隔输入/输出。

  2. 因此我可以获取特定对象的 speed_x 值,我将 speed_x 拆分为 speed_x_set(按 > 拆分)导致:

1 1000,500
2 1000,200
3 0,0`

3 在循环内,我通过索引获取值(因为它是对象 #)并用逗号分隔它(以获得 speed_x_in 和 speed_x_out。)

for(var i=0; i<OS.numberofobjects; ++i){
OS.speed_x_on_set[i]=speed_x_set[i].split(",")[0],
OS.speed_x_off_set[i]=speed_x_set[i].split(",")[1],
...
};

一切都由对象分配,并通过正确设置输入/输出到主操作系统设置对象中。 T*问题是我有很多很多设置需要以这种方式拆分...* 例如:delay_x_set、speed_y_set、opacity_set 等。它们的名称均基于默认设置名称,如上所示添加了“_set”。希望这提供了足够的信息。谢谢!

最佳答案

我会避免访问同一个项目两次,并为每次迭代执行两次相同的 split。所以,你可以有类似的东西:

for (var i = 0, item; item = speed_x_set[i++];) {
var values = item.split(",");
OS.speed_x_on_set.push(values[0]);
OS.speed_x_off_set.push(values[1]);
}

请注意,在 JavaScript 1.7 (Firefox) 中,您可以简单地拥有:

for (var i = 0, item; item = speed_x_set[i++];) {
var [on, off] = item.split(",");
OS.speed_x_on_set.push(on);
OS.speed_x_off_set.push(off);
}

希望在下一个版本的 ECMAScript 中也是如此。这称为“解构赋值”。

关于javascript - 在 Javascript 中拆分和分配多个值的更好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9657182/

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