javascript 常见工具函数(一)

1.将JSON数据根据相同值,进行归类划分:

var arr = [{ time: "1", img: "22222" }, { time: "2", img: "555" }, { time: "1", img: "888888" }, { time: "2", img: "4444" }];
/**
* @param arr 需要归类的数组包含json数据
* @param same 依据哪一个key进行归类
* @param classify 进行归类的数据key隔天
*/
_proto.jeff = function (arr,same,classify) {var sameKey = same;var classifyKey = classify;var l = arr.length;var i, j, vJson = { sameKey: "", classifyKey:[]},vArr = [];for (i = 0; i < l; i++) {if (!arr[i]) break;vJson.sameKey = arr[i].sameKey;vJson.classifyKey.push(arr[i].classifyKey);for (j = i + 1; j < l - 1; j++) {if (!arr[j]) break;if (arr[j].sameKey != vJson.sameKey) continue;if (!vJson.classifyKey.contains(arr[j].classifyKey)) vJson.classifyKey.push(arr[j].classifyKey);arr.removeAt(j);}vArr.push(vJson);vJson = { sameKey: "", classifyKey:[]};}return vArr;
}

2.比较一个数值,是否在数组元素包含的范围内:

for (var i=0; i < weightsRange.length; i++) {for (var j = i + 1; j < weightsRange.length; j++) {console.log("j循环开始时候的后的空格数"+this.blankNum);if(blankWeight<=weightsRange[i]){this.blankNum = i+1;}else if(blankWeight<weightsRange[j]){  //原来这样写会出错 weightsRange[i]<blankWeight<weightsRange[j],因为这样的话,当大于                                                  //weightsRange[i]的时候就会进入else if的内部而忽略的  小于weightsRange[j]的情况this.blankNum = j+1; }break;}console.log("j循环结束后的空格数"+this.blankNum);if(this.blankNum!=0)break;
}

3.数组排序:

(1)使用方法:

dropTimes.sort(function (a, b) {return a - b;
})

(2)函数说明:

4.删除数值中指定位置的元素:

(1)使用方法:

this.tempTimes.splice(rd, 1); //删除数值中的rd位置上的元素,该方法会改变原始数组,返回新的数组

(2)函数说明:

5.截取指定位置的字符串:

(1)使用方法:

this.phone = this.phone.substr(0, this.phone.length - 1);

6.检测字符串是否匹配某个模式:正则表达式的应用

(1)使用方法:

/*验证手机号码*/
_proto.checkMobile = function (e) {var num = this.phone;var re = /^1\d{10}$/;   //手机号码的正则表达式if (re.test(num)) {this.getCode();this.cdTime = 60;this.mainUI.label_cd.text = this.cdTime + "s";this.mainUI.btn_gray.visible = true;this.mainUI.btn_getCode.visible = false;Laya.timer.loop(1000, this, this.cutdown);} else {this.mainUI.img_errorPhone.visible = true;}this.mainUI.box_keyboard.visible = false;
}

(2)函数说明:

7.判断当前窗口的URL链接中是否包含某字符串:

G.ISTEST = window.location.href.indexOf("web_test"); //是否连接测试版本服务器if (G.ISTEST > 0) {   //是测试服G.PIC_URL = "http://icbc.hwugame.com/icbcserver_test/upload/";G.GAMESERVER_POST_URL = "http://icbc.hwugame.com/icbcserver_test/protocol";G.WXSERVER_POST_URL = "http://icbc.hwugame.com/icbclogin_test/protocol";
} else {G.PIC_URL = "http://icbc.hwugame.com/icbcserver/upload/";G.WXSERVER_POST_URL = "http://icbc.hwugame.com/icbclogin/protocol";G.GAMESERVER_POST_URL = "http://icbc.hwugame.com/icbcserver/protocol";
}

8.js函数:字符串转换浮点型数值,并且保留指定的位数:

var s='29.3231565';
s=parseFloat(s).toFixed(1);  //这里是保留小数点后一位小数

9.js做冒泡排序:

if(vDatas){var l = vDatas.length;var i,j;var a, b;for(i = 0; i < l; i++){//排序for(j = i + 1; j < l; j++){a = vDatas[i];b = vDatas[j];a.p = a.owner.getMoveProgress();b.p = b.owner.getMoveProgress();if(a.p < b.p){//排名发生改变!b.rank = i + 1;a.rank = j + 1;vDatas[i] = b;vDatas[j] = a;isChange = true;}else{a.rank = i + 1;b.rank = j + 1;}}}
}

10.找出数组中,map中某个key的值最大的元素:

/**
* 获取击杀最多的玩家id
*/
_proto.getKillChampion = function(newlist){var killChampionId;var list = newlist.clone();var vPlayer1,vPlayer2;for(var i=0;i<list.length;i++){vPlayer1 = list[i];for(var y=i+1;y<list.length;y++){vPlayer2 = list[y];if(vPlayer1.killNum>vPlayer2.killNum){killChampionId = vPlayer1.id;list[y] = vPlayer1;}else{killChampionId = vPlayer2.id;vPlayer1 = vPlayer2;}}}return killChampionId;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/597189.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL Too many connections报错

MySQL 时不时出现Too many connections报错&#xff0c;重启MySQL就好了 但是过段时间又出现 一、解决方案&#xff1a; 1.修改mysql最大连接数 set global max_connections500; 以上是修改立即生效的&#xff0c;重启MySQL就会还原回去 在MySQL配置文件修改 max_connection…

力扣刷题-二叉树-二叉搜索树中的搜索

700 二叉搜索树中的搜索 给定二叉搜索树&#xff08;BST&#xff09;的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在&#xff0c;则返回 NULL。 例如&#xff0c; 在上述示例中&#xff0c;如果要找的值是 5&#x…

UDP单播

CMakeLists.txt文件中添加如下行&#xff1a; link_libraries(ws2_32) 1.发送端 #include <iostream> #include <winsock2.h> #include <cstdio>#pragma comment(lib, "Ws2_32.lib") // Link with ws2_32.libint main() {1.Initialize winsock…

JS 手写 new 函数

工作中我们经常会用到 new 关键字&#xff0c;new 一个构造函数生成一个实例对象&#xff0c;那么new的过程中发生了什么呢&#xff0c;我们今天梳理下 创建一个对象对象原型继承绑定函数this返回对象 先创建一个构造函数&#xff0c;原型上添加一个方法 let Foo function (n…

MySQL中NULL值与空值的坑

1. 表达含义 在mysql中 空值&#xff1a;表示一个空字符或零长度的字符串&#xff0c;可以使用空引号 来表示&#xff0c;是已被定义的值&#xff1b; NULL值&#xff1a;NULL表示缺少一个已知或适当的值&#xff0c;是未被定义的值&#xff1b;。 2. 比较运算 空值&…

03、Kafka ------ CMAK(Kafka 图形界面管理工具) 下载、安装、启动

目录 CMAK&#xff08;Kafka 图形界面管理工具&#xff09;下载安装启动打开 cmak 图形界面 CMAK&#xff08;Kafka 图形界面管理工具&#xff09; Kafka本身并没有提供Web管理工具&#xff0c;而是推荐使用bin目录下各种工具命令来管理Kafka&#xff0c; 这些工具命令其实用起…

vue3中标签form插件

想写一个系统&#xff0c;对八字进行标注&#xff0c;比如格局&#xff0c;有些八字就有很多格局&#xff0c;于是就想着使用el-tag但是&#xff0c;form表单中如何处理呢&#xff1f; 这个时候&#xff0c;就需要自己写一个,modelValue是表单的默认属性 <template><…

C++重温笔记(八): C++异常

1. 写在前面 c在线编译工具&#xff0c;可快速进行实验: https://www.bejson.com/runcode/cpp920/ 这段时间打算重新把c捡起来&#xff0c; 实习给我的一个体会就是算法工程师是去解决实际问题的&#xff0c;所以呢&#xff0c;不能被算法或者工程局限住&#xff0c;应时刻提…

复试 || 就业day09(2024.01.04)算法篇

文章目录 前言验证外星语词典在长度 2N 的数组中找出重复 N 次的元素找到小镇的法官查找共用字符数组的相对排序分发饼干分发糖果区间选点(AcWing)最大不相交区间数量(AcWing)无重叠区间关于重写小于号 前言 &#x1f4ab;你好&#xff0c;我是辰chen&#xff0c;本文旨在准备考…

国内SAP代理公司排行榜,哲讯为您选择最佳合作伙伴

SAP系统在企业数字化转型中的重要性日益凸显&#xff0c;越来越多的企业意识到了SAP的价值和潜力。然而&#xff0c;在选择合适的SAP代理公司方面&#xff0c;许多企业常常感到困惑。因此&#xff0c;本文将为您介绍国内SAP代理公司排行榜&#xff0c;为您提供参考和指导&#…

以 Serverfull 方式运行无服务器服务

当前 IT 架构中最流行的用例是从 Serverfull 转向 Serverless 设计。在某些情况下&#xff0c;我们可能需要以 Serverfull 方式设计服务或迁移到 Serverfull 作为运营成本的一部分。 在本文中&#xff0c;我们将展示如何将 Kumologica flow 作为 Docker 容器运行。通常&#x…

相机FOV是什么英文单词的缩写,是什么意思。

问题描述&#xff1a;相机FOV是什么英文单词的缩写&#xff0c;是什么意思。 问题解答&#xff1a; FOV 是 "Field of View" 的缩写&#xff0c;翻译成中文是视场角或视野。在相机领域&#xff0c;相机的 FOV 表示相机能够捕捉到的场景范围的大小&#xff0c;通常用…

HarmonyOS页面和自定义组件生命周期

页面和自定义组件生命周期 在开始之前&#xff0c;我们先明确自定义组件和页面的关系&#xff1a; 自定义组件&#xff1a;Component装饰的UI单元&#xff0c;可以组合多个系统组件实现UI的复用。页面&#xff1a;即应用的UI页面。可以由一个或者多个自定义组件组成&#xff…

通信管理之设备管理

点击标题栏 【系统】--【通信管理】 串口通信指串口按位&#xff08;bit)发送和接受字节。尽管比特字节的串行通信慢&#xff0c;但是串口可以在使用一根线发送数据的同时用另一根线接受数据&#xff0c;串口通信协议是指规定了数据包的内容&#xff0c;内容包含了起始位、主体…

52、全连接 - 特征与样本空间的对应关系

上一节说到经过全连接层之后,神经网络学习到的特征,会从隐层特征空间逐步映射到样本空间,这主要是由于全连接层可以融合全局的特征。 在经过全连接层之后,在 ResNet50 这个神经网络中会输出1000个特征的得分值,这1000个特征的得分值,便可以对应到图像的分类。 怎么对应…

居然在Web上就可以体验下苹果电脑的操作系统啦?

发现一款宝藏项目 MacOS &#xff0c;在Web上打造一款原汁原味的 MacOS系统&#xff0c;不同于以外的仿操作系统的web应用&#xff0c;该应用底层基于 HTML5的 FileSystem 和 IndexedDB 构建了文件系统&#xff0c;理论上可以基于这套系统实现任何的上层应用。作者还制定了可以…

洛谷P1024[NOIP2001 提高组] 一元三次方程求解(cpp)(二分查找)

目录 1.题目 2.思路 3.AC 1.题目 # [NOIP2001 提高组] 一元三次方程求解 ## 题目描述 有形如&#xff1a; 这样的一个一元三次方程。给出该方程中各项的系数&#xff08;a,b,c,d 均为实数&#xff09;&#xff0c;并约定该方程存在三个不同实根&#xff08;根的范围在 -…

【JavaEE进阶】 关于Spring mvc 响应

文章目录 &#x1f38d;序言&#x1f333; 返回静态⻚⾯&#x1f332;RestController 与 Controller 的关联和区别&#x1f334;返回数据 ResponseBody&#x1f38b;返回HTML代码⽚段&#x1f343;返回JSON&#x1f340;设置状态码&#x1f384;设置Header&#x1f6a9;设置Con…

Python循环语句

for 循环 for循环主要用来实现固定次数的循环&#xff0c;用于将一段代码重复的执行固定次数。 比如&#xff1a;循环打印数字&#xff0c;打印1-100之间的每个整数 for i in range(100):print(i1)while 循环 while循环用于实现不知道要执行多少次的循环&#xff0c;一般需…

【hyperledger-fabric】部署和安装

简介 对hyperledger-fabric进行安装&#xff0c;话不多说&#xff0c;直接开干。但是需要申明一点&#xff0c;也就是本文章全程是开着加速器进行的资源操作&#xff0c;所以对于没有开加速器的情况可能会由于网络原因导致下载资源失败。 资料提供 1.官方部署文档在此&#…