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

Project1

 找回密码
 注册会员
搜索

关于判断输入数值是否存在数组中

查看数: 2273 | 评论数: 5 | 收藏 2
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-9-2 14:09

正文摘要:

我想判断输入的数值是否存在于一个数组中,但测试的时候发现输入0、5、6也会判断为y,输入35、36、37反而判断为n,这种脚本应该怎么写才能对呢? ...

回复

tuifeiheihu 发表于 2023-5-8 10:30:41
小秋橙 发表于 2023-5-7 20:36
[1,2,3].every(
    (x,i,a)=>$gameParty.hasItem($dataArmors[x])
)

谢谢大佬,用some就可以了
小秋橙 发表于 2023-5-7 20:36:41
tuifeiheihu 发表于 2023-5-7 20:15
想要判断队伍是否持有多个装备,能否用类似的方法呢?如果需要判断的东西比较多,下面的代码就非常冗长了
$ ...

[1,2,3].every(
    (x,i,a)=>$gameParty.hasItem($dataArmors[x])
)
every表示每项都满足,some表示至少有一项满足。
tuifeiheihu 发表于 2023-5-7 20:15:30
想要判断队伍是否持有多个装备,能否用类似的方法呢?如果需要判断的东西比较多,下面的代码就非常冗长了
$gameParty.hasItem($dataArmors[1]) || $gameParty.hasItem($dataArmors[2])||$gameParty.hasItem($dataArmors[3])
小秋橙 发表于 2022-9-3 10:44:07
    /**
     * Checks whether the array contains a given element.
     *
     * @method Array.prototype.contains
     * @param {Any} element The element to search for
     * @return {Boolean} True if the array contains a given element
     */
    contains : {
        enumerable: false,
        value: function(element) {
            return this.indexOf(element) >= 0;
        }
    }
contains是官方自己写的方法,建议还是用浏览器自带的includes更好,
[1, 2, 3, 4, 35, 36, 37].includes($gameVariables.value(1))

点评

既然有JS自带的includes方法,为何RM开发人员还要写一个contains方法?  发表于 2022-9-3 12:55
alexncf125 发表于 2022-9-2 15:14:55
[1, 2, 3, 4, 35, 36, 37].contains($gameVariables.value(1))

点评

成啦,谢谢指点  发表于 2022-9-2 15:59

评分

参与人数 2+2 收起 理由
347780682 + 1 谢谢分享 又学会一招
tuifeiheihu + 1 认可答案

查看全部评分

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

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

GMT+8, 2024-11-17 11:49

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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