查看: 1611|回复: 5

[有事请教] 删除数组中元素遇到的问题

[复制链接]
梦石
0
星屑
113
在线时间
29 小时
注册时间
2023-1-10
回帖
3
发表于 2023-3-3 20:13:18 | 显示全部楼层 |阅读模式
悬赏16星屑已解决
本帖最后由 代人 于 2023-3-4 15:56 编辑

打算做一个道具池,里边有二十个道具,每次随机拿取一个道具,直到道具池抽空。
没有js的基础,四处找资料把代码写成了这样:

[pre lang="javascript"]$gameVariables.setValue(44,[91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110]);[/pre]

初始化道具池

[pre lang="javascript"]◆变量操作:#0043 角色宝箱池/抽取 = $gameVariables.value(44)[Math.floor((Math.random()*$gameVariables.value(44).length))]
var n = $gameVariables.value(43)-91 ;
$gameVariables.value(44).splice(n,1) ;[/pre]

————————————————————————————————————————————————————————————
在修改了判断写成赋值的部分以后,又发现上边的这串代码其实做不到删除数组中指定的数
找到了解决的方法:
[pre lang="javascript"]var x = $gameVariables.value(43)
var index = $gameVariables.value(44).indexOf(x);
if (index > -1) {
$gameVariables.value(44).splice(index, 1);}[/pre]

最佳答案

查看完整内容

$gameVariables.value(44).lenth = 0 =应该是用==吧 =是赋值 ==才是判断
梦石
0
星屑
762
在线时间
248 小时
注册时间
2019-7-6
回帖
44
发表于 2023-3-3 20:13:19 | 显示全部楼层
本帖最后由 qq983378065 于 2023-3-4 10:01 编辑

$gameVariables.value(44).lenth = 0
=应该是用==吧
=是赋值
==才是判断

评分

参与人数 1赞 +1 收起 理由
代人 + 1 我很赞同

查看全部评分

回复

使用道具 举报

梦石
0
星屑
762
在线时间
248 小时
注册时间
2019-7-6
回帖
44
发表于 2023-3-4 09:03:47 | 显示全部楼层
代码没看出问题,建议贴上整个事件

评分

参与人数 1赞 +1 收起 理由
代人 + 1 塞糖

查看全部评分

回复

使用道具 举报

梦石
0
星屑
113
在线时间
29 小时
注册时间
2023-1-10
回帖
3
 楼主| 发表于 2023-3-4 09:19:01 | 显示全部楼层
qq983378065 发表于 2023-3-4 09:03
代码没看出问题,建议贴上整个事件

整个事件除了上边的那串,还写了其他对应道具的获得。
event.png
回复

使用道具 举报

梦石
0
星屑
113
在线时间
29 小时
注册时间
2023-1-10
回帖
3
 楼主| 发表于 2023-3-4 15:04:22 | 显示全部楼层
qq983378065 发表于 2023-3-4 09:51
$gameVariables.value(44).lenth = 0
=应该是用==吧
=是赋值

谢谢您,第二次犯这错了,上次发帖也是因为这判断写成赋值,刻骨铭心了
回复

使用道具 举报

梦石
2
星屑
8479
在线时间
463 小时
注册时间
2021-12-4
回帖
486

MZ评测员

发表于 2023-3-4 23:20:23 | 显示全部楼层
本帖最后由 小秋橙 于 2023-3-4 23:21 编辑
代人 发表于 2023-3-4 15:04
谢谢您,第二次犯这错了,上次发帖也是因为这判断写成赋值,刻骨铭心了 ...


js语言千万不要用==,应该用===,因为==0的东西太多了。
而且最好写成 0 === xxxxxx,这样如果只写了一个等号就会直接报错而不是静悄悄地执行失败。

评分

参与人数 1赞 +1 收起 理由
代人 + 1 我很赞同

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部