JS常用方法模板(更新中)
因为条目比较乱,所以就先不整理目录了,有需要可以Ctrl+F。
一,比较并返回最高值
maxnumber = Math.max(A, B, C);
注:0 或多个值。在 ECMASCript v3 之前,该方法只有两个参数。
引:w3school——JavaScript max() 方法
二,比较并返回最小值
minnumber = Math.min(A, B, C);
注:0 或多个值。在 ECMASCript v3 之前,该方法只有两个参数。
引:w3school——JavaScript min() 方法
三,反转字符串/切割字符串/反转数组/拼接字符串
str = str.split('').reverse().join('');
注:split() 方法用于把一个字符串分割成字符串数组。
w3school——JavaScript split() 方法
reverse() 方法用于颠倒数组中元素的顺序。
w3school——JavaScript reverse() 方法
join() 方法用于把数组中的所有元素放入一个字符串。
w3school——JavaScript join() 方法
四,判断某元素是否在指定数组中
var set = new Set([1,2,3,4,5]);
set.add(5); //重复添加的元素被自动过滤
set.delete(1); //删除一个key
set.has(1); //是否存在该元素
注:Set和Map类似,也是一组key的集合,但不存储value。
引:简书——js中set方法
let arr = [1,2,3];
arr.includes(1) //true
arr.includes(5) //false
注:includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。
引:JavaScript Array includes() 方法
五,获取指定位置的字符串
var str = "123456789";
str.slice(A,B); //A为起始截取位置,B为结束截取位置
注:返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素,不对原数组进行修改。B选填,不填为到数组结束的所有元素。
引:JavaScript slice() 方法
var str = "123456789";
str.substr(A,B); //A为起始截取位置,B为截取长度
注:返回一个新的字符串,包含从 A(包括 A 所指的字符) 处开始的长度为B个字符。B选填,不填为到数组结束的所有元素。
引:JavaScript substr() 方法
六,计算X的Y次幂
x **= y;
注:指数运算符(**)即可表示X的Y次幂。
引:JavaScript表示x的y次幂
Math.pow(x, y);
注:pow() 方法可返回 x 的 y 次幂的值。x 为底数。必须是数字。y 为幂数。必须是数字。
引:JavaScript pow() 方法
七,删除数组中的重复项
const set = new Set([1, 2, 3, 4, 4]);console.log([...set]);//[1,2,3,4];
注:展开语法(Spread syntax),将数组表达式或者string在语法层面展开;还可以在构造字面量对象时,将对象表达式按key-value的方式展开。
引:展开语法(Spread syntax)
Js中去除数组中重复元素的6种方法
八,快速排序模板
function quick_sort(arr, l, r) {if (l >= r) {return;}let i = l - 1, j = r + 1, x = arr[l + r >> 1];while (i < j) {do {i++;} while (arr[i] < x);do {j--;} while (arr[j] > x);if (i < j) {let temp = arr[i];arr[i] = arr[j];arr[j] = temp;}}quick_sort(arr, l, j);quick_sort(arr, j + 1, r);
}let arr = [4, 3, 5, 1, 4];
quick_sort(arr, 0, arr.length - 1)
console.log(arr);
九,大数相加
function addBigNum(a,b){var res = '',loc = 0;a = a.split('');b = b.split('');while(a.length || b.length || loc){//~~把字符串转换为数字,用~~而不用parseInt,是因为~~可以将undefined转换为0,当a或b数组超限,不用再判断undefined//注意这里的+=,每次都加了loc本身,loc为true,相当于加1,loc为false,相当于加0loc += ~~a.pop() + ~~b.pop();//字符串连接,将个位加到res头部res = (loc % 10) + res;//当个位数和大于9,产生进位,需要往res头部继续加1,此时loc变为true,true + 任何数字,true会被转换为1loc = loc > 9;}return res.replace(/^0+/,'');
}
十,大数相乘
function multiplyBigNum(num1, num2) {//判断输入是不是数字if (isNaN(num1) || isNaN(num2)) return "";let len1 = num1.length,len2 = num2.length;let pos = [];//j放外面,先固定被乘数的一位,分别去乘乘数的每一位,更符合竖式演算法for (let j = len2 - 1; j >= 0; j--) {for (let i = len1 - 1; i >= 0; i--) {//两个个位数相乘,最多产生两位数,index1代表十位,index2代表个位let index1 = i + j,index2 = i + j + 1;//两个个位数乘积加上当前位置个位已累积的数字,会产生进位,比如08 + 7 = 15,产生了进位1let mul = num1[i] * num2[j] + (pos[index2] || 0);//mul包含新计算的十位,加上原有的十位就是最新的十位pos[index1] = Math.floor(mul / 10) + (pos[index1] || 0);//mul的个位就是最新的个位pos[index2] = mul % 10;}}//去掉前置0let result = pos.join("").replace(/^0+/, "");return result || '0';
}
整理中。。。
JS常用方法模板(更新中)相关推荐
- 前端知识点总结——JS高级(持续更新中)
前端知识点总结--JS高级(持续更新中) 1.字符串 什么是: 连续存储多个字符的字符数组 相同: 1. 下标 2. .length 3. 遍历 4. 选取: slice(starti[, endi] ...
- 深入理解JS的面向对象(更新中)
面向对象是软件开发方法.面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统.交互式界面.应用结构.应用平台.分布式系统.网络管理结构.CAD技术.人工智能等领域.面向对象是一种对现实世 ...
- 在text html模版中写js,Rails3使用text/html内容类型而不是text/javascript呈现js.erb模板...
我正在使用3.0.0.beta3构建一个新的应用程序.我只是尝试将js.erb模板呈现给Ajax请求以执行以下操作(在publications_controller.rb中): def get_pub ...
- 浏览器中的js不能同步更新的解决方案
解决方案有三种,分别是: 1.清浏览器缓存 2.清服务器缓存 3.更改项目中对应的js文件名(大招) 在项目的整合过程出现了浏览器中的js和项目里面的js不是同步的.起初,由于需求变动,需要前端多传三 ...
- JS逆向学习笔记 - 持续更新中
JS逆向学习笔记 寻找深圳爬虫工作,微信:cjh-18888 文章目录 JS逆向学习笔记 一. JS Hook 1. JS HOOK 原理和作用 原理:替换原来的方法. (好像写了句废话) 作用: 可 ...
- html模板下载之“门户网站html模板页面下载”——html模板下载合集(持续更新中)
整理了一部分html模板下载(持续更新中),特别适合实训项目,毕业设计项目使用. 有些是积分的(绿色标题)有些是vip资源(黑色标题)哈 1.tml模板下载自行车综合资讯门户网站html模板是一款适合 ...
- (js)模板字符串中使用循环遍历数据:
(js)模板字符串中使用循环遍历数据: // 数据格式 let wordList = {id: "2",question: "李四",content: [{ n ...
- 2022年前端面试题整理,持续更新中
端面试题整理 已同步到掘金.CSDN 掘金地址: https://juejin.cn/post/7075332630417244173 CSDN 地址:https://blog.csdn.net/z1 ...
- VUE 笔记(持续更新中...)
最近刚好我也在学习vue,这些是我的一些笔记,记录下来,方便用的时候查看,欢迎大家批评指正! 1. 简介 Vue.js是JavaScript MVVM(Model-View-ViewModel)框架 ...
最新文章
- 基于Session共享的单点登录或通行证系统方案
- Java之品优购课程讲义_day17(2)
- java实现回文验证_LeetCode 精选 TOP 面试题(Java 实现)—— 验证回文串
- .git文件夹_Git幸存者指南
- 在golang中defer、panic与recover的作用
- Windows下安装MySQL
- 转【28个Unix/Linux的命令行神器-----陈皓】
- Hadoop安装部署的三种模式总结
- 霍尔编码器-STM32读取
- 2021-02-19
- 移动硬盘写入数据报错“MS-DOS功能无效”,或移动硬盘内新建文件夹报错0x8000FFFF灾难性错误
- 【mysql】算术运算符
- 人牙髓干细胞,多能分化,不只用于牙齿组织再生研究
- 微信获取用户地理位置
- mom和mes系统有哪些异同点?
- 一文理解CPU进行简单加法(计算机组成原理5.1CPU的功能和基本结构)
- 网上医疗预约挂号系统
- 基于运动学模型的轨迹跟踪控制
- 关于触摸屏的一些硬件知识
- 有理数的四则运算 C、java
热门文章
- Scala语言编程基础
- 解决美的空调集控器ccm15接入智能家居不显示unique_id的问题
- hive mysql日期减一天_hive sql的常用日期处理函数总结
- C语言 while语句中的break与continue
- Jupyter Notebook修改默认主题字体大小 - 放大字号后眼睛再也不累了
- 学计算机应用要office么,计算机应用中Office办公软件的现状及教学方法
- 【史上最全】Ambari 大数据集群运维与管理操作指南
- java毕业设计流浪动物的救助管理平台源码+lw文档+mybatis+系统+mysql数据库+调试
- wangzherongyao - 15
- 中国程序员应读“名著”