超实用的JS常用算法详解(推荐)

404 篇文章 25 订阅
订阅专栏
395 篇文章 35 订阅
订阅专栏
43 篇文章 30 订阅
订阅专栏

介绍

本文主要介绍,常用的数组方法和字符串方法。

一、数组常用方法

1.push()
在尾部追加,类似于压栈,原数组会变。
在这里插入图片描述

2.pop()
在尾部弹出,类似于出栈,原数组会变,数组的push & pop可以模拟常见数组结构之一:栈
在这里插入图片描述

3.unshift()
在头部压入数据,类似于入队,原数组会变
在这里插入图片描述

4.shift()
在头部弹出数据,原数组会变,数组的 push (入队) & shifit (出队) 可以模拟常见数据结构之一:队列
在这里插入图片描述

5.concat()
concat会在当前数组尾部拼接传入的数组,然后返回一个新数组,原数组不变。
在这里插入图片描述

6.indexOf()
在数组中寻找该值,找到则返回其下标,找不到则返回 -1
在这里插入图片描述

7.includes()
在数组中寻找该值,找到则返回 true ,找不到则返回 false
在这里插入图片描述

8.join()
将数组转化成字符串,并返回该字符串,不传值则默认逗号隔开,原数组不变。
在这里插入图片描述

9.reverse()
翻转原数组,并返回已完成翻转的数组,原数组改变。
在这里插入图片描述

10.slice(start, end)
从 start 开始截取到 end , 但是不包括end
在这里插入图片描述

11.splice(start, deleteCount, item1,item2……)
start参数 开始的位置
deleteCount 要截取的个数
后面的 items 为要添加的元素
如果 deleteCount 为 0,则表示不删除元素, 从 start 位置开始添加后面的几个元素到原始的数组里面
返回值为由被删除的元素组成的一个数组,如果只删除了一个元素,则返回只包含一个元素的数组,如果没有删除元素,则返回空数组。
这个方法会改变原始数组,数组的长度会发生改变
在这里插入图片描述

12.sort()
对数组的元素进行排序,并返回数组。
默认排序顺序是将元素转化为字符串,然后比较它们的 UTF-16 代码单元值序列时构建的。
由于它取决于具体实现,因此无法保证排序时间和空间的复杂性。
在这里插入图片描述

13.toString()
将数组转化成字符串,并返回该字符串,逗号隔开,原数组不变。
在这里插入图片描述

二、字符串常用方法

1.charAt()
返回指定索引位置处的字符,类似于数组用中括号获取相应下标位置的数据。
在这里插入图片描述

2.conCat()
类似数组的concat(), 用来返回一个合并拼接两个或两个以上的字符串,原字符串不变。
在这里插入图片描述

3.indexOf()、lastIndexOf()
indexOf 返回一个字符在字符串中首次出现的位置,lastIndexOf 返回一个字符在字符串中最后一次出现的位置。
在这里插入图片描述

4.slice()
提取字符串的片段,并把提取的字符串作为新的字符串返回出来,原字符串不变。
在这里插入图片描述

5.split()
使用指定的分隔符将一个字符串拆分为多个子字符串数组并返回,原字符串不变。
在这里插入图片描述

6.substr(), substring()
这两个方法的功能都是截取一个字符串的片段,并返回截取的字符串。
substr 和 substring 这两个方法不同的地方就在于参数二,substr的参数二是截取返回出来的这个字符串指定的长度, substring 的参数二是截取返回这个字符串的结束点,并且不包含这个结束点。而它们的参数一,都是一样的功能,截取的起始位置。
注意事项:substr 的参数二如果为 0 或者负数,则返回一个空字符串,如果未填入,则会截取到字符串的结尾区, substring 的参数一和参数二为 NAN 或者负数,那么它将被替换为 0
在这里插入图片描述

7.match()
match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配,并返回一个包含该搜索结果的数组。
在这里插入图片描述

注意事项:如果 match 方法没有找到匹配,将返回 null ,如果找到匹配,则match 方法会把匹配到的以数组形式返回,如果正则规则未设置全局修饰符 g ,则 match 方法返回的数组有两个特性: input 和 index , input 属性包含整个被搜索的字符串, index 属性包含了在整个被搜索字符串中匹配的字符串的位置。
8.replace()
replace接收两个参数,参数一是需要替换掉的字符或者一个正则的匹配规则,参数二,需要替换进去的字符,在实际的原理当中,参数二也可以换成一个回调函数。
在这里插入图片描述
在这里插入图片描述

9.search ()
在目标字符串中搜索与正则规则相匹配的字符,搜索到,则返回第一个匹配项在目标字符串当中的位置,没有搜索到则返回一个 -1
在这里插入图片描述

10.toLowerCase(), toUpperCase()
toLowerCase() 把字母转换成小写, toUpperCase() 则是把字母转换成大写。
在这里插入图片描述

11.includes(), startsWith(), endsWith()
Includes 、startsWith 、endsWith ,es6的新增语法,includes 用来检测目标字符串对象是否包含某个字符,返回一个布尔值,startsWith 用来检测当前字符是否是目标字符串的起始部分,相对的 endWith 是用来检测是否是目标字符串的结尾部分。
在这里插入图片描述

12.repeat ()
返回一个新的字符串对象,新字符换等于重复了指定次数的原始字符串,接收一个参数,就是指定重复的次数,原字符串不变。
在这里插入图片描述
以上这篇JS常用算法就是CRMEB分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持 ​ ​CRMEB​​。

博客
最新uniapp开发微信小程序商城搭建教程(附源码)
11-02 1万+
uni-app是近年来一种新兴的多端混合开发框架,适合开发跨平台应用,方便多端运行。接下来,我就用一套开源打通版系统给大家演示一下,如何用最新的uni-app来搭建一个微信小程序商城。
博客
这个用PHP开发的全开源商城系统可免费商用
05-09 4506
近两年,开源一直是技术圈非常火热的话题,拥抱开源已是大势所趋,互联网精神本就以开放、分享为核心,去开源平台Github及国内的Gitee溜达一圈,可以发现许多优秀的开源项目,废话不多说,今天给大家分享一款真正可免费商用的好开源商城系统,绝对精品!...
博客
19. 详解网络请求Axios
01-25 2193
Axios是什么?Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。我们知道 Promise 是 js 异步的一种解决方案,它最大的特性就是可以通过 .then 的方式来进行链式调用。其实说白了axios是对ajax的封装,axios有的ajax都有,ajax有的axios不一定有,总结一句话就是axios是ajax,ajax不止axios。为什么选择axios?vue的作者尤雨溪推荐使用axios.符合前后端分离的趋势,及前端的MVVM的浪潮
博客
18. Vue的状态管理 - Vuex
01-22 3080
vuex的相关知识点不多,但较为难理解,很多没有做过项目的同学去看官方文档可能无法真正理解,所以我这里除了介绍其基本的安装使用之外,会从他的应用场景及使用vuex的好处等方面来聊一下个人浅见!vuex是什么?官话:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。我个人的理解是,如果有一些公共的数据需要在多个组件中共享或者某一个状态的改变会影响多个组件,那么这时候用vuex是非常合适的,比.
博客
14. vue的插槽
01-16 7577
vue的插槽插槽这个概念相对就比较抽象,但抽象的概念用生活中常见的事物去做类比,也就变得没那么抽象了!举一个生活中的例子:比如装修房子的时候我们会在很多地方预留出一些插孔,可能要插电冰箱,插电式,插充电器等,反正就是你觉得预留在这个位置的插座一定有用,这个预留的插座就类似我们今天要说的插槽,插槽就是你在模板中提前通过一个占位符(slot)来预言一块固定的区域将来会被某些元素替换掉,但是这个位置我得先预留出来。在veu 2.6.0 中,具名插槽和作用域插槽引入了一个新的统一的语法 (即 v-slot
博客
这款完全开源可自主DIY的小程序商城太强大了,直接可给客户搭建赚米
01-11 1万+
项目介绍CRMEB Min是CRMEB品牌全新推出的一款轻量级、高性能、前后端分离的开源电商系统,完善的后台权限管理、会员管理、订单管理、产品管理、CMS管理、多端管理、页面DIY、数据统计、系统配置、组合数据管理、日志管理、数据库管理,一键开通短信、产品采集、物流查询等接口,系统采用TP6+Mysql+Uniapp+iView+Redis+workerman+form-builder等最流行热门的技术,支持队列、PHP快速生成表单、长链接、定时任务、事件订阅、图表统计、表格导出、自动接口文档,完善的使
博客
这个用JAVA开发的全开源商城系统可免费商用
12-24 1万+
近两年,开源一直是技术圈非常火热的话题,拥抱开源已是大势所趋,互联网精神本就以开放、分享为核心,去开源平台Github及国内的Gitee溜达一圈,可以发现许多优秀的开源项目,废话不多说,今天给大家分享一款真正可免费商用的好开源商城系统,绝对精品!颜值高这是个看脸的时代,第一印象很重要,美的东西总能让人赏心悦目,程序也是如此,界面美观,用起来都舒服!功能全现在是移动端的天下,社交电商更是如火如荼,某拼平台更是将各种社交营销活动玩的是眼花缭乱,什么砍价、拼团、秒杀、会员、积分已经成了商城系统的标.
博客
CRMEB全开源Java版微信小程序商城,附源码
12-16 5476
CRMEB-JAVA版简介CRMEB商城JAVA版,SpringBoot + Maven + Swagger + Mybatis Plus + Redis + Uniapp +Vue 包含移动端、小程序、PC后台、Api接口;有产品、用户、购物车、订单、积分、优惠券、营销、余额、权限、角色、系统设置、组合数据、可拖拉拽的form表单等模块,大量的减少了二开的成本。CRMEB-JAVA版主要特性有详细的代码注释,有完整系统手册SpringBoot框架使用SpringBoot框架框架开发前端.
博客
深入理解element-plus table二次封装:从理论到实践的全面指南
03-27 3063
在许多中后台管理系统中,表格占据着半壁江山,如果使用element plus组件库,那么少不了要用到table组件,可是table组件的功能过于基础,因此,我在table组件的实现基础之上进一步封装,从而实现功能更强大的table组件。在实现table组件的功能之前,我们首先需要先来看看用法,由于使用示例比较多,可能将会有几篇文章主要介绍所有示例用法,介绍完示例之后将会有专门的文章基于使用方式去详细讲解封装思路。
博客
解决Uniapp视频在手机上无法播放的终极指南!
03-25 5382
介绍:本文主要介绍uniapp中video标签在手机端无法播放视频的问题并且如何解决。
博客
Vue 性能不给力?这些优化技巧帮你轻松搞定!
03-22 1262
设置唯一的key,能精确找到该数据,数据改变时能较快定位到diffdiff算法目的是找出差异,最小化更新视图,发生在视图更新阶段,当数据发生变化的时候,diff就对比新旧虚拟DOM,只渲染有变化的部分。1.对比是不是同类型标签,不是同类型直接替换2.是同类型标签,就执行patchVnode方法,判断新旧vnode是否相等newVnode和oldeVnode都有文本节点,就用新节点换旧节点new有子节点,old没有,就增new的子节点new没有子节点,old有,则删。
博客
Vue响应式原理全解析
03-20 762
大家好,我是程序员蒿里行。浅浅记录一下面试中的高频问题,请你谈一下Vue响应式原理。必备前置知识,​​Vue2​​官方文档中​​深入响应式原理​​​及​​Vue3​​官方文档中​​深入响应式系统​​。响应式本质是当数据变化的时候,会自动执行一些相关函数。price: 2,amount: 3假设去水果店买苹果,价格为两元,买三个,总价是六元。但是苹果价格调整后,我还得重新计算一遍总价,即调用totalPrice函数。
博客
Vue快速教程:如何优雅地移除数组中的特定元素?
03-18 3085
这段代码乍一看似乎没啥问题,removeArr记录了要剔除的位置,比如[1, 3], 剔除1、3位置,但在剔除1位置后,splice会修改本身数组长度,原先的3位置的元素应该是退到2位置了,如果还剔除3位置的元素,按逻辑来说是不对的。在写本文的时候,我发现以下更简洁的写法,每次剔除前,直接获取要剔除的位置即可,虽然可能剔除位置一直不变,但是元素的变化了的,所以也不会出现剔除错误的情况。方法将要删除的元素之前和之后的元素分别存储在新的数组中,从而得到去除指定元素后的数组。方法来去除数组中的某个元素。
博客
Vue面试无忧,一文带你搞定前端面试中的热门难题!
03-13 1028
虚拟 DOM (Virtual DOM,简称 VDOM) 是一种编程概念,意为将目标所需的 UI 通过数据结构“虚拟”地表示出来,保存在内存中,然后将真实的DOM与之保持同步。具体来说,虚拟 DOM是由一系列的 JavaScript 对象组成的树状结构,每个对象代表着一个DOM元素,包括元素的标签名、属性、子节点等信息。虚拟 DOM中的每个节点都是一个 JavaScript 对象,它们可以轻松地被创建、更新和销毁,而不涉及到实际的DOM操作。主要作用虚拟 DOM。
博客
一文全面解析 Vue3 el-table 组件二次封装
03-11 1554
然而,数据的 key 作为列名的情况很少(至少在我们这里,一般是使用中文作为列名的),这就需要我们使用可定制的列名,并且,如果我们不想展示某些字段,上面的写法也是做不到的(它会显示数据的所有字段)。这时候,我们只需要一个映射(mapper)就可以解决这些问题。该对象的每一个属性对应每一列的 prop、key,值对应列的列名 label。// App.vue// 定义新的Header结构,key为column的prop/key,value为column的labela: "列a",b: "列b",
博客
Vue2中Hash和History路由模式的深入解析
03-09 1279
路由有两种模式:一种是hash模式、另一种是history模式,在使用vue-cli以及vue-router默认搭建的Vue项目,若不做特殊的配置,默认就是hash模式。
博客
掌握 Vue3、Vite 和 SCSS 实现一键换肤的魔法步骤
03-06 1223
一个网站的换肤效果算是一个比较常见的功能,尤其是在后台管理系统中,我们几乎都能看到他的身影,这里给大家提供一个实现思路。
博客
掌握工作中最常见的10个Redis应用场景
03-04 1202
Redis作为一种优秀的基于key/value的缓存,有非常不错的性能和稳定性,无论是在工作中,还是面试中,都经常会出现。今天这篇文章就跟大家一起聊聊,我在实际工作中使用Redis的10种场景,希望对你会有所帮助。
博客
封装验证码组件的简易教程
02-28 1616
验证码我们平时应该不少见到,其原理就是通过HTML5 Canvas API也就是我们说的画布,我们可以通过算法随机生成一系列字符、数字或图形,并将它们以扭曲、拉伸、旋转、添加噪点,以增加机器识别难度。对于更高级的验证码,可以使用SVG或者其他矢量图技术来创建复杂且难以解析的图形。
博客
提升Vue3应用效率的秘诀:深入比较ref与reactive!
02-26 1494
ref在 Vue3 中提供了一种更统一、灵活的响应式解决方案,还能避免了reactive的某些局限性。点此下载。
写文章

热门文章

  • 如何自己搭建一个小程序(步骤详解) 139393
  • 对接企业微信,客户关系管理也可以很简单! 39352
  • 这些功能要是没有,我大 Pro 还怎么出来混! 38751
  • crontab命令详细介绍教程,快来围观 38214
  • JS中的JSON.Stringify 方法详解 31209

分类专栏

  • Vue 43篇
  • CRMEB 395篇
  • 学习笔记 404篇
  • 其他 4篇
  • 开源工具 18篇

最新评论

  • Vue3 ElementPlus 更加优雅的使用Icon

    DrewZh: [root@drewdev mon-vue]# sh runvue.sh > Anymonitor@0.3.0 serve > vue-cli-service serve ERROR TypeError: Icons is not a function TypeError: Icons is not a function at Object.<anonymous> (/drew/mon-vue/vue.config.js:8:7) at Module._compile (node:internal/modules/cjs/loader:1469:14)

  • Vue 3 中的响应式原理

    godev: 能不能严谨些啊....

  • Vue 3 中的响应式原理

    xwss666: 在这胡说八道什么呢

  • Vue中前端导出word文件

    曹筱君: 重复出现了表单数据啊

  • Vue后台项目开发必备:全面解析分辨率适配与网页缩放技巧!

    ctrl+c工程师: 为啥浏览器适配方案没效果啊

最新文章

  • 深入理解element-plus table二次封装:从理论到实践的全面指南
  • 解决Uniapp视频在手机上无法播放的终极指南!
  • Vue 性能不给力?这些优化技巧帮你轻松搞定!
2024年29篇
2023年84篇
2022年219篇
2021年185篇
2020年59篇

目录

目录

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

深圳SEO优化公司葫芦岛网站优化推广下城区seo网站排名优化建阳市网站优化网站 优化当选易速达深圳网站seo优化公司排名深圳网站建设网站优化在线推广潮州网站首页关键词优化排名福建网站关键词排名优化技巧雅虎网站优化做优化网站如何优化网站14星武汉工厂网站优化要多少钱合江县网站seo优化排名如何优化导航网站论坛网站流量优化青浦区公司网站优化价格费用浦东区网站优化河源公司网站关键词优化费用刷网站优化点击器从化推广优化网站SEO排名网络深圳网站首页关键词优化费用金水区一站式网站搭建优化无锡优化网站号码手机优化的网站品牌网站优化公司排名株洲口碑好的营销型网站优化优化网站排名的步骤企业网站内页优化方案广州南沙网站推广优化网站优化外链推荐歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化