找文章 / 找答案
精选问答 更多内容

问一个脚本问题!

美滋滋白银二 显示全部楼层 发表于 2024-4-2 10:45:16 |阅读模式 打印 上一主题 下一主题
1
未解决

问一个脚本问题!

2419 11
今天发现了一个小的脚本问题,还请永洪开发人员确认一下。
首先我写了一段代码,判断下拉参数1组件中是否选中了"爱尔兰咖啡"
第二张图是返回结果图
可以看到,明明数组中存在"爱尔兰咖啡"这个数据,可以看到返回显示了"ok",但是indexOf函数,返回的却是-1 .

test1.png
test2.png
回复

使用道具 举报

精彩评论11

yhdata_lyaa 显示全部楼层 发表于 2024-4-2 11:03:00
这样试试呢
debug(indexOf(a[i], "爱尔兰咖啡"))
回复

使用道具 举报

limited_Moore白银一 显示全部楼层 发表于 2024-4-2 11:12:40
这里的a是一个数组,数组里面用indexof函数肯定是找不到,这个函数只能在字符串之间使用啊
回复

使用道具 举报

yhdata_lyaa 显示全部楼层 发表于 2024-4-2 11:24:23
limited_Moore 发表于 2024-4-2 11:12
这里的a是一个数组,数组里面用indexof函数肯定是找不到,这个函数只能在字符串之间使用啊 ...

对的
回复

使用道具 举报

给给铂金一 显示全部楼层 发表于 2024-4-2 11:45:15
limited_Moore 发表于 2024-4-2 11:12
这里的a是一个数组,数组里面用indexof函数肯定是找不到,这个函数只能在字符串之间使用啊 ...

素的
回复

使用道具 举报

美滋滋白银二 显示全部楼层 发表于 2024-4-2 13:35:14
楼上的几位,你们真的不知道数组也可以使用 indexOf 函数吗?? 自己先去测试一下再来回复好吗??
无语
回复

使用道具 举报

美滋滋白银二 显示全部楼层 发表于 2024-4-2 13:38:57
补充一个数组使用 indexOf 函数的结果图
可以看到下面图中,图一是脚本,图二是返回值,返回值都是正确的

test3.png
test4.png
回复

使用道具 举报

yhdata_yzm 显示全部楼层 发表于 2024-4-2 14:16:06
怎么说呢,目前看起来get出来值定义是这样的[花茶,茶]而非我们定义的['花茶','茶'],前者的花茶和茶是数组对象中的对象,而后者是字符串,所以这个值是不对的。现在也没有什么版本把这个对象构造出了,使用indexOf的时候先把数组转成字符串吧。
回复

使用道具 举报

美滋滋白银二 显示全部楼层 发表于 2024-4-2 14:53:58
yhdata_yzm 发表于 2024-4-2 14:16
怎么说呢,目前看起来get出来值定义是这样的[花茶,茶]而非我们定义的['花茶','茶'],前者的花茶和茶是数组 ...

我的理解是:
1. 脚本中使用getSelsectedObjects方法获取的a首先确实是一个数组;
2. a 数组中的每一个元素并非是String 类型的。
3. 故此通过 indexOf 函数去匹配字符串时,匹配失败,返回值是 -1
4. 我尝试着做了一个新的测试,我将获取的a中的每一个元素利用tostring转换成字符类型后,再压到另外一个数组中,然后再使用 indexOf函数就正常了。代码如下:
var a = 列表参数1.getSelectedObjects();
var b = []
for(i=0;i<a.length;i++) {
        b.push(toString(a))
}
debug(b.indexOf("爱尔兰咖啡"))

通过上面的转换处理后,indexOf返回结果正常了。
那么问题又来了,如果说a中的元素并非是字符类型的,那么为什么判定 a[0] == "爱尔兰咖啡" 又可以得到true的结果呢?
回复

使用道具 举报

yhdata_yzm 显示全部楼层 发表于 2024-4-2 15:09:21
美滋滋 发表于 2024-4-2 14:53
我的理解是:
1. 脚本中使用getSelsectedObjects方法获取的a首先确实是一个数组;
2. a 数组中的每一个元 ...

1 2 3理解是正确的。
至于4来说可能是产品内部的逻辑了,有点深了
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部