设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 92|回复: 0
打印 上一主题 下一主题

[综合信息] 通过生成和控制数组内的数值,批量化对各种编号进行操作

[复制链接]

Lv1.梦旅人

梦石
0
星屑
91
在线时间
9 小时
注册时间
2025-2-15
帖子
4
跳转到指定楼层
1
发表于 2025-2-26 12:53:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 写给妖精的情诗 于 2025-2-26 13:05 编辑

标题上说的——通过生成和控制数组内的数值,批量化操控各种编号——,好像是可以操控数据库那里的角色、职业、技能之类的一大堆东西。
变量操作那里的操作,有什么带入、加法、减法之类的,要是多一个数组就好了。分支条件也是。

Js生成1到100的数组的方式总汇(11种) - 知乎
https://zhuanlan.zhihu.com/p/574737212
在上面这个帖子里,我回了一个帖子,由于怀疑会不会本吞掉,于是就复制链接换个浏览器去看一看,好像真的没有发出来啊。。。那就发到P1来好了。

感谢这个帖子的教学,看着这么多的方法,我在rpgmakerMZ试用方法一循环赋值,
不知道是什么原因没有试出正确的结果,可能是arr1和arr1的原因吧,不过这么多的选择让我懒得去深究。

马上就去试用方法二push方法实现,看到var arr = new Array();for(var i=0;i<100;i++){ arr.push(i);}这个的结果是0到99,我虽然想得到(var i=1;i<101;i++)就是1到100了。
但是这样总觉得怪怪的,因为在rpgmakerMZ这里习惯了每一个东西都是0就是0,1就是1,不太想用加一减一的逻辑。

于是就往下翻,翻到方法六:Array.from的var arr = Array.from({length:100}, (v,k) => k);和方法七:Array.from的var arr = Array.from(Array(100), (v,k) =>k);。
一看这两个就比较喜欢,因为简洁。
试了一下,还是跟方法二一样是从0开始算的,而不是从1开始算的。
接着在JavaScript之splice 添加或删除元素 - 陆陆无为而治者 - 博客园
https://www.cnblogs.com/luyj00436/p/15177205.html
这里找到了给数组里面添加和移除元素的代码。
虽然在生成1到100的数组的方式中,还是方法二要简单方便,但是这个在其他方面或许需要用到这个。

实例
数组中添加新元素。
var fruits = ['苹果','香蕉' , '梨'];
fruits.splice(2,0,'橘子');
fruits的输出的值为: [ "苹果", "香蕉", "橘子", "梨"] 。
[感谢]
删除数组中的元素。
var fruits = ['苹果','香蕉' , '梨','芒果','西瓜'];
fruits.splice(2,2);
fruits的输出值为: [ "苹果", "香蕉", "西瓜"] 。
[赞同]
移除数组中第三元素,并在第三个位置添加新元素。
var fruits = ['苹果','香蕉' , '梨','芒果','西瓜'];
fruits.splice(2,1,'柠檬','葡萄');
fruits的输出值为: [ "苹果", "香蕉", "柠檬", "葡萄", "芒果", "西瓜"] 。

根据上面这个实例,修改成下面这样。

var arr = Array.from(Array(50), (v,k) =>k);
arr.splice(0/*在1号位置(从0开始算起)*/,1/*移除1个元素*/);
arr.splice(49/*在50号位置(从0开始算起)*/,0/*移除0个元素*/,50/*添加1个元素*/);
//上面这两行,先移除一个好像并不影响后面的添加和移除,
//这两行应该是同时计算的,而不是先后计算的。
//好像是这样的arr.splice(从0开始的第几个位置,移除几个,添加,添加,随便添加);
$gameVariables.setValue(1,arr)
$gameMessage.add($gameVariables.value(1))
//上面这两行是RPG Maker MZ中的写法,不要在意。
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-3-13 05:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表