脚本公式循环体中使用uuid()函数,返回相同的值

111.JPG

用户r1568678 发布于 2020-7-30 15:44 (编辑于 2020-7-31 10:48)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共6回答
最佳回答
1
吾姓独孤Lv6高级互助
发布于2020-7-31 11:26

我在超链接里设置这段代码结果和你一样,我觉得是这样,首先他会吧里面涉及的公式都先执行保存到缓存里,比如你这里的uuid公式,这样每次循环的话他其实都是同一个值,你可以用js里的uuid去实现


function uuid() {


var s = [];

var hexDigits = "0123456789abcdef";

for (var i = 0; i < 36; i++) {

s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);

}

s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010

s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01

s[8] = s[13] = s[18] = s[23] = "-";


var uuid = s.join("");

return uuid;

}


var arr_uuid = [];

for (var i = 1; i < 5; i++) {

arr_uuid.push(uuid());

}

return arr_uuid;

image.png

最佳回答
0
shirokoLv6资深互助
发布于2020-7-30 15:49

image.png测试了一下不会返回相同值啊

  • 用户r1568678 用户r1568678(提问者) 感谢帮助,不知图片为何没上传成功,代码是写在脚本公式中的。 var uuid=[], for (var i=1;i<10;i++) uuid.push(\'${uuid()}\'); return uuid;
    2020-07-30 19:03 
  • 用户r1568678 用户r1568678(提问者) 刚才发的代码,单引号被转义了。
    2020-07-30 19:09 
最佳回答
0
孤陌Lv6资深互助
发布于2020-7-30 16:17
测试一下没有你说的情况
  • 用户r1568678 用户r1568678(提问者) 代码是写在脚本公式中的,不知您是在哪测试的, var uuid=[]; for (var i=1;i<10;i++) uuid.push(\'${uuid()}\'); return uuid;
    2020-07-30 19:07 
  • 孤陌 孤陌 回复 用户r1568678(提问者) 加公式执行环境
    2020-07-31 07:37 
  • 用户r1568678 用户r1568678(提问者) 已经安装增强公式编辑器插件,能正常运行!
    2020-07-31 09:23 
  • 孤陌 孤陌 回复 用户r1568678(提问者) 看我新的回答
    2020-07-31 09:30 
  • 用户r1568678 用户r1568678(提问者) 回复 孤陌 加公式执行环境(没看懂),另外插入公式下的脚本公式中是不能用FR.remoteEvaluated的方式调用公式的,只能以${}的形式调用
    2020-07-31 09:44 
最佳回答
0
lovertLv3见习互助
发布于2020-7-31 10:12

(\'${uuid()}\');是错误的,JS调用帆软自带公式,必须通过FR.remoteEvaluate("uuid()");调用

最佳回答
0
越陵真Lv2见习互助
发布于2020-7-31 10:14

我也测试了一下好像没有你说的情况

最佳回答
0
用户r1568678Lv1见习互助
发布于2020-7-31 10:30
此贴图片有问题,开新贴。感谢各位。
  • 5关注人数
  • 560浏览人数
  • 最后回答于:2020-7-31 11:26
    请选择关闭问题的原因
    确定 取消
    返回顶部