Project1

标题: 关于判断输入数值是否存在数组中 [打印本页]

作者: tuifeiheihu    时间: 2022-9-2 14:09
标题: 关于判断输入数值是否存在数组中

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

作者: alexncf125    时间: 2022-9-2 15:14
[1, 2, 3, 4, 35, 36, 37].contains($gameVariables.value(1))
作者: 小秋橙    时间: 2022-9-3 10:44
    /**
     * 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))
作者: tuifeiheihu    时间: 2023-5-7 20:15
想要判断队伍是否持有多个装备,能否用类似的方法呢?如果需要判断的东西比较多,下面的代码就非常冗长了
$gameParty.hasItem($dataArmors[1]) || $gameParty.hasItem($dataArmors[2])||$gameParty.hasItem($dataArmors[3])
作者: 小秋橙    时间: 2023-5-7 20:36
tuifeiheihu 发表于 2023-5-7 20:15
想要判断队伍是否持有多个装备,能否用类似的方法呢?如果需要判断的东西比较多,下面的代码就非常冗长了
$ ...

[1,2,3].every(
    (x,i,a)=>$gameParty.hasItem($dataArmors[x])
)
every表示每项都满足,some表示至少有一项满足。
作者: tuifeiheihu    时间: 2023-5-8 10:30
小秋橙 发表于 2023-5-7 20:36
[1,2,3].every(
    (x,i,a)=>$gameParty.hasItem($dataArmors[x])
)

谢谢大佬,用some就可以了




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1