那些我用到过的js方法

EBS开发_创建AP付款 --以下代码于20181002在Tony环境测试通过 /* BEGIN   --mo_global.init('SQLAP');   apps.fnd_global.apps_initialize(user_id => 1110, resp_id => 50597, resp_appl_id => 20003);   --mo_global.set_policy_context(... 阅读详情

1.阿拉伯数字转中文数字

/**
 * 阿拉伯数字转中文数字,
 * 如果传入数字时则最多处理到21位,超过21位js会自动将数字表示成科学计数法,导致精度丢失和处理出错
 * 传入数字字符串则没有限制
 * @param {number|string} digit
 */
export const toZhDigit = (digit) => {
  digit = typeof digit === 'number' ? String(digit) : digit;
  const zh = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九'];
  const unit = ['千', '百', '十', ''];
  const quot = ['万', '亿', '兆', '京', '垓', '秭', '穰', '沟', '涧', '正', '载', '极', '恒河沙', '阿僧祗', '那由他', '不可思议', '无量', '大数'];

  let breakLen = Math.ceil(digit.length / 4);
  let notBreakSegment = digit.length % 4 || 4;
  let segment;
  let zeroFlag = [], allZeroFlag = [];
  let result = '';

  while (breakLen > 0) {
    if (!result) { // 第一次执行
      segment = digit.slice(0, notBreakSegment);
      let segmentLen = segment.length;
      for (let i = 0; i < segmentLen; i++) {
        if (segment[i] != 0) {
          if (zeroFlag.length > 0) {
            result += '零' + zh[segment[i]] + unit[4 - segmentLen + i];
            // 判断是否需要加上 quot 单位
            if (i === segmentLen - 1 && breakLen > 1) {
              result += quot[breakLen - 2];
            }
            zeroFlag.length = 0;
          } else {
            result += zh[segment[i]] + unit[4 - segmentLen + i];
            if (i === segmentLen - 1 && breakLen > 1) {
              result += quot[breakLen - 2];
            }
          }
        } else {
          // 处理为 0 的情形
          if (segmentLen == 1) {
            result += zh[segment[i]];
            break;
          }
          zeroFlag.push(segment[i]);
          continue;
        }
      }
    } else {
      segment = digit.slice(notBreakSegment, notBreakSegment + 4);
      notBreakSegment += 4;

      for (let j = 0; j < segment.length; j++) {
        if (segment[j] != 0) {
          if (zeroFlag.length > 0) {
            // 第一次执行zeroFlag长度不为0,说明上一个分区最后有0待处理
            if (j === 0) {
              result += quot[breakLen - 1] + zh[segment[j]] + unit[j];
            } else {
              result += '零' + zh[segment[j]] + unit[j];
            }
            zeroFlag.length = 0;
          } else {
            result += zh[segment[j]] + unit[j];
          }
          // 判断是否需要加上 quot 单位
          if (j === segment.length - 1 && breakLen > 1) {
            result += quot[breakLen - 2];
          }
        } else {
          // 第一次执行如果zeroFlag长度不为0, 且上一划分不全为0
          if (j === 0 && zeroFlag.length > 0 && allZeroFlag.length === 0) {
            result += quot[breakLen - 1];
            zeroFlag.length = 0;
            zeroFlag.push(segment[j]);
          } else if (allZeroFlag.length > 0) {
            // 执行到最后
            if (breakLen == 1) {
              result += '';
            } else {
              zeroFlag.length = 0;
            }
          } else {
            zeroFlag.push(segment[j]);
          }

          if (j === segment.length - 1 && zeroFlag.length === 4 && breakLen !== 1) {
            // 如果执行到末尾
            if (breakLen === 1) {
              allZeroFlag.length = 0;
              zeroFlag.length = 0;
              result += quot[breakLen - 1];
            } else {
              allZeroFlag.push(segment[j]);
            }
          }
          continue;
        }
      }
      --breakLen;
    }

    return result;
  }
}

2.得到数组arr1与两个数组的并集相减后的结果

/**
 * @param {Array} arr1
 * @param {Array} arr2
 * @description 得到数组arr1与两个数组的并集相减后的结果, 两个数组的元素为数值或字符串
 */
export const arrChange = (arr1, arr2) => {
  for (var i = 0; i < arr2.length; i++) {
    for (var j = 0; j < arr1.length; j++) {
      if (arr1[j].coid == arr2[i].coid) {
        arr1.splice(j, 1);
        j = j - 1;
      }
    }
  }
  return arr1;
}
用STM32H7的FMC+AD7606搭建多通道数据采集系统:两种工作模式(查询与FIFO中断)的代码详解与性能对比 本文详细解析了基于STM32H7微控制器和AD7606 ADC芯片的多通道数据采集系统设计,重点对比了查询模式与FIFO中断模式的实现方法与性能差异。通过FMC总线实现高速并行数据采集,系统支持16bit同步采样,最高可达200Ksps/通道。文章提供了完整的代码实现和优化策略,帮助工程师在工业监测等实时性要求高的场景中构建可靠的数据采集方案。 阅读详情

相关推荐

【Proteus】NE555纯硬件实现LED呼吸灯效果,附源文件,效果展示

本设计通过NE555与三极管的巧妙配合,仅用基础元件实现了呼吸灯效果。核心在于利用RC积分电路将PWM信号转换为控制电压,并通过负反馈动态调节占空比。Proteus仿真验证了方案的可行性,读者可进一步优化参数或扩展功能,探索更多硬件设计可能性。

2201_75797484的博客 2983

JS方法常用方法汇总

* String----&gt;是一个对象     * 字符串可以看成是字符组成的数组,但是js中没有字符类型     * 字符是一个一个的,在别的语言中字符用一对单引号括起来     * 在js中字符串可以使用单引号也可以使用双引号     * 因为字符串可以看成是数组,所以,可以通过for循环进行遍历     *     * 字符串特性:不可变性,字符串的值是不能改变     *...

飞翔的小白 3万+

SDM660电源部分配置:

SDM660电源部分配置: Panel power supplies 1、Reference power supplies Description Name Regulator Voltage (V) Panel power supply 0 vddio PMIC 660/L11 1.8 Panel power supply 1 Lab PMIC 660/lab 4.6 Panel power s...

weixin_41811215的博客 4728

js中用到的方法

在学习js基础,有时候学习过就忘了,写下来便于下次查找方便和理解: .substring() 方法用于提取字符串中介于两个指定下标之间的字符。 var str='abcdef'; alert(str.substring(2, 5)); //从第2位开始(包含弟2个)到第4位结束(不包括第5个) 弹出cde //alert(str.substring(1));//从第1位开始到最后...

weixin_30883777的博客 74

ESP32 LVGL开发板例程使用记录:自制常用汉字字库(二)

1、将下载的文件移入工程文件中 ,路径为项目文件中 ”......\lib\lvgl\src\font“文件夹下。3、修改字库配置文件,文件名为lv_conf.h中的内容,向其中加入下面内容(位置可搜索注释块来找到地方)修改完成可以编译试试,看是否成功,如字库较大时编译出错,请使能:LV_FONT_FMT_TXT_LARGE。2、打开此文件,修改包含头文件的路径,不然会报错,修改方法可对照自己库中其他字库文件中的包含路径。导入完成后在VSCode工程中可以查看到此文件。上次说完了如何制作 字库.c 文件。

qq_43279097的博客 1959

【cocos2dx面试题干货】--2021年最新cocos2dx面试干货(引擎篇)

【cocos2dx面试题干货】--2020年度最新cocos2dx面试干货(引擎篇 ) 大家好,我是Lampard~~ 经过春招一番艰苦奋战之后,我终于是进入了心仪的公司。 今天给大家分享一下我在之前精心准备的一套面试知识。 由于我面试的岗位是cocos2dx的开发岗,今天就先给大家分享一下引擎方面的知识。 本人亲测80%的引擎相关题目都...

Lampard的博客 1万+

javascript常用到的一些方法

javascript常用到的一些方法  

zfmsa--装疯卖傻 893

多元相关性分析_PAST:最简便易用的统计学分析软件教程目录

欢迎来到PAST的世界!本教程并不是将PAST的所有功能均进行详细介绍,而只是挑选与生物、医学、微生物研究相关的统计学分析内容进行讲述。根据PAST内各项分析的标签分类,将该教程具体设置如下:PAST软件介绍PAST的基本信息数据的输入和修改数据的转换和标准化图像绘制 (Plot标签)点线图和直方图散点图条形图和箱须图饼图堆叠条形图三元相图气泡图单变量统计学分析 (Univariate标...

weixin_39605706的博客 3156

JavaScript 用到的一些常用方法总结

1、判断两个对象是否相等 different(obj1,obj2){ var o1 = obj1 instanceof Object; var o2 = obj2 instanceof Object; if(!o1 || !o2){ return obj1 === obj2; } if(...

Rob_gao的博客 321

AutoSAR开发实战:如何用Matlab/Simulink从零搭建SWC组件(附完整代码示例)

本文详细介绍了使用Matlab/Simulink从零开发AutoSAR SWC组件的全流程,包括环境配置、ARXML文件导入、算法模型开发、代码生成与集成验证等关键步骤。通过实战案例和完整代码示例,帮助开发者掌握AutoSAR标准下的软件开发技术,提升汽车电子系统的开发效率。

weixin_29093017的博客 256

Ubuntu22环境下Xinference与RAGFLOW集成:构建高效rerank模型服务【实战指南】

本文详细介绍了在Ubuntu22.04系统上,通过部署Xinference模型推理服务来加载bge-reranker-base等rerank模型,并将其与RAGFLOW框架集成的完整实战指南。该方案实现了模型服务的解耦与灵活管理,有效提升RAG系统的检索精度与答案相关性,并提供了从环境配置、服务启动、网络连接到性能调优及常见问题排查的全流程解决方案。

pluto的博客 500

js 经常用到的一下方法

//给属性class==classname的标签赋CSS样式  $(".classname").css({ //得到页面的高度 'height':document.documentElement.clientHeight-280+'px', //使高度自动加载,设置此属性可以让页面出现滚动条 'overflow-y':'auto', });

lijinghua1245的博客 335

Linux Kernel入门到精通系列讲解 - 总目录

在学习Linux Kernel之前,需要先准备开发环境,方便后续进行开发。可以根据自身情况,选择性阅读该章节。学习该章节之前,你应该了解一下网络概念,明白为什么要讲这些,才能更有方向的去理解学习。Linux ARM平台开发系列讲解(设备树篇) 4.1.1 设备树的原理详解。本项目完全开源,仅供学习使用,如需其他用途,请与本人联系。),本章节你可以学习到。摄像头V4L2子系统、Linux kernel常用的子系统等,ARM架构、RISCV架构、Uboot等。

DSMGUOGUO的博客 1万+

javaScript常用到的方法

判断一个对象是否为空对象,不为null,仅仅是{};可以使用如下方法判断: if (JSON.stringify(object) === '{}') { //.. } //也可以 if (Object.keys(object).length === 0) { // .. } 数组去重: let list = [] [1,...

weixin_34281537的博客 153

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Js数组经常用到的一些方法

数组的方法异常之多,现在罗列的是我项目中经常用到的方法 1、unshift 将指定元素插入数组的第一个位置 let arr = [22, 33, 44] arr.unshift(11) console.log(arr) // [11, 22, 33, 44] 2、shift 删除数组的第一个元素 let arr = [11, 22, 33, 44] arr.shift() console.log(arr) // [22, 33, 44] 3、push 将指定元素添加到数组的最后一个位置...

良人非良 207

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

JavaScript中用到的方法总汇

参考地址JavaScript中常用的方法汇总,全部整理好了,一定要收藏! - zhang305 - 博客园https://www.cnblogs.com/PotatosMe/p/13751420.htmlhttps://www.cnblogs.com/PotatosMe/p/13751420.html

liuzaixi的博客 128

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

js中用到的一些属性方法

去掉文本框标签中的某个属性:      removeAttribute(disabled)">

483

经常用到的一些js方法

//#######################计算类############################################################## //js运算经常容易内存溢出,使用以下方法进行四则运算就可以避免了 //放置位置:任意可以放的位置 //返回值:arg1加上arg2的精确结果 function accAdd(arg1, arg2) { va

yw1688的专栏 633

js经常用到的方法

1,判断js一个值是否为空if(value == '' || value == undefined || value == null) { alert("为空"); return false; }

qq_37985261的博客 208

项目中经常用到的JavaScript方法

1. js切割字符串 String.split() 注意:此方法与Array.join执行的方法是相反的。 2. js把数组中所有元素放入一个字符串 Array.join() 转载于:https://www.cnblogs.com/knuzy/p/9711501.html...

weixin_30588827的博客 133

JavaScript必用到的100个经典方法

JavaScript常用的方法大全集项目介绍JavaScript常用的方法大集合,里面有对json处理的各种方法,对时间处理的各种方法。从手机端,PC端,从ie5到ie11都兼容。整个项目都是免费开源的。可以用于开发大型项目。附件里面有整个文档,还有实验,测试,环境工具。软件架构软件架构说明安装教程下载地址 点击打开链接,附件里面有2个js文件,一个是utilFn.js,另一个是压缩版utilFn...

ivan_52099的博客 1189

总结:Js中可能用到的一些小方法

1、获取当前所在页面的高度 var height=parent.document.body.clientHeight;

Shaniya 522

js用到的一些工具方法

总结记录自我觉着有用的js方法

cocoaxian的博客 536

有用到的一些js,jq方法总结

**一.element.outerHTML;** 1.innerHTML和outerHTML有什么区别 test1 test2 1)innerHTML的值是“test1 test2 ” 2)outerHTML的值是test1 test2 可以通过这个元素的outerHTML属性来获取到这个元素的html内容 例如: html[0].outerHTML 二.jQuery 事...

dxj124的博客 359

网上书店用到的JavaScript方法

     //新开一个窗口,显示订单详细信息    function orderDetail(id) {        window.open("OrderDetail.do?id=" + id, "", "location=no, toolbar=no,status=no, height=250,width=500");    }    //新开一个窗口,显示图书详细

426

JS中toString()方法,用到了就看看它吧!

在JS中,定义的所有对象都具有toString()方法。 Number类型的toString()方法比较特殊,有默认模式和基模式两种。 默认模式的例子: var num1 = 10; var num2 = 10.0; alert(num1.toString());//输出10 alert(num2.toString());//输出10 无论你用什么表示法声明数字,默认模式只...

鱼骨头 744
上一篇: css transform rotate 不影响子元素
下一篇: ERROR: Missing source image for "splash" (sources: resources/android/splash.png, resources/android/s
zebraMeat
博客等级 码龄9年 3粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值