[自定义函数]自定义脚本函数示例分享

2023-9-7 17:51:22
32806



function 计算(a,b)
{
// 简单运算,ab可以是数字或字符串
  return a+b;
}

function getFetchStr(subStr, mainStr)
{
      // 简单运算,ab可以是数字或字符串
      subIndex = mainStr.indexOf(subStr);
      if (subIndex > -1){
        mainStr = mainStr.substring(subIndex + subStr.length);
      }
  return mainStr; 

}

function getSubStrCount(subStr, mainStr)
{
// 简单运算,ab可以是数字或字符串
  var count = 0;
  var subIndex = 0;
  while(subIndex>= 0)
  {
      subIndex = mainStr.indexOf(subStr);
      if (subIndex > -1){
        mainStr = mainStr.substring(subIndex + subStr.length);
        count++; 
        if (count > 100){
           return 100;
        }
      }
  }
  return count; 
}

function 计算2(a,b)
{
// 数据源 明细运算,ab是数据源或表单的数据项,可以通过 a.length 取得数据项 a 的行数
  return (a[0]+b[0])/(a[1]-b[1]);
}

function 计算平均值(a)
{
// 数据源 明细运算,a是数据源或表单的数据项,可以通过 a.length 取得数据项 a 的行数
  var x = 0;
  for (var i = a.length -1 ; i >= 0;  i--){
       x += a[i];
  }
  return (x / a.length);
}

function 间隔秒(a, b)
{
// 时间运算
  return (Date.parse(a) - Date.parse(b))/1000;
}


function _隐藏函数(a, b)
{
// 函数名以下划线开头的不在填表公式显示
  return a+b;
}

function 加法(a, b)
{
// 调用隐藏函数
  return _隐藏函数(a, b);
}
function _aryAdd(a, s)
{
   var i = a.length - 1;
   for(; i >= 0; i--)
   {
      if (a[i] == s)
        break;
   }
   if (i < 0)
     a.push(s);
}

function _arySub(a, b)
{
   for(var i = a.length - 1; i >= 0; i--)
   {
      for(var j = b.length - 1; j >= 0; j--)
      {
         if(a[i] == b[j])
          a.splice(i, 1);
      }
   }
}

function _arySplit(a, s)
{
  var p = 0;
  for(var i = 1; i <= s.length; i++)
  {
     if (s[i] == ",")
     {
        aryAdd(a, s.substr(p, i - p));
        p = i + 1;
     }
  }
  _aryAdd(a, s.substr(p));
}

function  合并去重(s1, s2)
{
     var a = new Array();
    _arySplit(a, s1);
    _arySplit(a, s2);
    return a.join(",");
}

function  差集(s1, s2)
{
     var a = new Array();
     var b = new Array();
    _arySplit(a, s1);
    _arySplit(b, s2);
    _arySub(a, b);
    return a.join(",");
}

function 明细转JSON字符串(a,b)
{
// 数据源 明细运算,明细 是数据源,可以通过 明细.length 取得 明细 的行数
  var ary = new Array();
  for (var i = 0 ; i < a.length;  i++){
     var obj = new Object();
     obj.单据类型 =a[i];
     obj.订单 = b[i];
     ary.push( obj );
  }
  return JSON.stringify(ary);
}

+12

最近谁赞过

2人收藏
6 条回帖
liynha云师2023-9-8 15:04:54来自手机
这些是按照什么标准、语言写的?
+10
N16454450595299云粉2023-9-9 15:00:08
自定义函数在这个模板中使用,在另外模板还得重新写吗?
+10
zcrqwert云粉2024-3-8 13:54:45
收藏;
+10
zcrqwert云粉2024-3-12 12:27:31
为什么点了收藏,在收藏里看不到呢
+10
需要登录后才可进行回复 登录

玩转云表从入门到精通
扫码添加微信立即领取

·云表创始人授课文件
·加入社群与培训学习
·切磋云表开发玩法

商务咨询:0756-3335860
客服咨询