当前位置: 首页 > news >正文

门票预订网站建设百度招聘官网首页

门票预订网站建设,百度招聘官网首页,自己做网站难么,奢侈品b2c电商网站建设文章目录Set概念与arr的比较属性和方法并集、交集、差集Map概念属性和方法String用索引值和charAt()的区别charAt()和charCodeAt()方法的区别5个查找方法的区别如何把字符串分割为数组3个截取方法的区别大小写转换3个模式匹配方法(正则表达式)3个移除字符…

文章目录

    • Set
      • 概念
      • 与arr的比较
      • 属性和方法
      • 并集、交集、差集
    • Map
      • 概念
      • 属性和方法
    • String
      • 用索引值和charAt()的区别
      • charAt()和charCodeAt()方法的区别
      • 5个查找方法的区别
      • 如何把字符串分割为数组
      • 3个截取方法的区别
      • 大小写转换
      • 3个模式匹配方法(正则表达式)
      • 3个移除字符串收尾空白符
      • 2个获取字符串本身
      • 其他
    • 参考

本系列目录:【前端八股文】目录总结
是以《代码随想录》八股文为主的笔记。详情参考在文末。
代码随想录的博客_CSDN博客-leecode题解,ACM题目讲解,代码随想录领域博主

在这里插入图片描述

Set

概念

Set对象允许我们存储任何类型唯一值,无论是原始值还是对象引用。

let mySet=new Set();

唯一值,即不重复。

与arr的比较

JavaScript Set 的用法与理解_js set使用_暮春风的博客-CSDN博客

  • 查找快:O(1),而Array是O(n)
  • 删除不需要知道索引

在这里插入图片描述

属性和方法

常规操作

在这里插入图片描述

操作演示:大前端JS篇之搞懂【Set】 - 要爱学习鸭 - 博客园 (cnblogs.com)

遍历操作

  • keys():返回键名的遍历器
  • values():返回键值的遍历器
  • entries():返回键值对的遍历器
  • forEach():使用回调函数遍历每个成员
  • 支持for…of

注意:

  • Set的遍历顺序就是插入顺序,利用这个特性可以储存一些需要按顺序调用的函数
  • keys方法、values方法、entries方法返回的都是遍历器对象
  • Set不存在键名,只有键值,也可以认为键名和键值是同一个,所以keys和values返回的值是一样的
let s = new Set(['a', 'b', 'b', 1, 2])// 遍历key
for (let key of s.keys()) {console.log(key)// a b 1 2
}// 遍历value
for (let value of s.values()) {console.log(value)// a b 1 2
}// 遍历键值对
for (let entry of s.entries()) {console.log(entry)// [ 'a', 'a' ]// [ 'b', 'b' ]// [ 1, 1 ]// [ 2, 2 ]
}// forEach
s.forEach(function (value, key, s) {// 参数:value、key、set本身console.log('value', value, 'key', key, 's', s);// value a key a s Set(4) { 'a', 'b', 1, 2 }// value b key b s Set(4) { 'a', 'b', 1, 2 }// value 1 key 1 s Set(4) { 'a', 'b', 1, 2 }// value 2 key 2 s Set(4) { 'a', 'b', 1, 2 }
})

并集、交集、差集

并集

新Set+解构

let a = new Set([1, 2, 4])
let b = new Set([2, 4, 3])// 并集
let union = new Set([...a, ...b]);
console.log(union)//Set(4) { 1, 2, 4, 3 }

交集

filter

let a = new Set([1, 2, 4])
let b = new Set([2, 4, 3])// 交集
let intersect = new Set([...a].filter(item => b.has(item)));
console.log(intersect)//Set(2) { 2, 4 }

差集

let a = new Set([1, 2, 4])
let b = new Set([2, 4, 3])// 差集a-b
let c = new Set([...a].filter(item => !b.has(item)));
console.log(c) //Set(1) { 1 }// 差集b-a
let d = new Set([...b].filter(item => !a.has(item)));
console.log(d) //Set(1) { 3 }

Map

概念

Map对象保存键值对,能记住键的原始插入顺序任何值(对象或基本类型)都可以作为一个键或一个值。

  • Map的键只能出现一次,插入多次则更新为最新的值
let a = new Map()
a.set('a', 1)
a.set('a', 2)
a.set('a', 3)
console.log(a)//Map(1) { 'a' => 3 }
  • Map的查找复杂度小于O(N)

内部表示为哈希表O(1)、搜索树O(log(N))、或其他数据结构。

属性和方法

在这里插入图片描述
遍历方法

  • keys
  • values
  • entries
  • forEach
  • for…of

有Map如下:

let a = new Map()
a.set('a', 'a')
a.set('a', '1')
a.set('b', '2')
a.set('c', '3')console.log(a)//Map(3) { 'a' => '1', 'b' => '2', 'c' => '3' }

遍历keys:

for (let key of a.keys()) {console.log(key)// a// b// c
}

遍历values:

for (let value of a.values()) {console.log(value)// 1// 2// 3
}

遍历entries:

for (let entry of a.entries()) {console.log(entry)// [ 'a', '1' ]// [ 'b', '2' ]// [ 'c', '3' ]
}

forEach:获得value

a.forEach(item => console.log(item))
// 1
// 2
// 3

for…of:获得[key,value]的数组

for (let item of a) {console.log(item)// ['a', '1']// ['b', '2']// ['c', '3']
}

想要得到分开的key和value可以解构:

for (let item of a) {const [key, value] = item;console.log(key, value)// a 1// b 2// c 3
}

String

比较全的总结——针对《红宝书》的笔记,跳转到3.3:【JavaScript高级程序设计】重点-第五章笔记:Date、RegExp、原始值包装类、单例内置对象-CSDN博客

比较全的总结:JavaScript 28个常用字符串方法及使用技巧 - 掘金 (juejin.cn)

在这里插入图片描述

用索引值和charAt()的区别

charAt:''
索引值:undefined

str[index]不兼容ie6-ie8,charAt(index)可以兼容。

const str = 'hello';
str.charAt(1)  // 输出结果:e 
str[1]         // 输出结果:e 
str.charAt(5)  // 输出结果:'' 
str[5]         // 输出结果:undefined

charAt()和charCodeAt()方法的区别

  • charAt方法获取对应位置的字符
  • charCodeAt方法获取指定位置字符的Unicode值
const str = 'hello';
console.log(str.charAt(0))//h
console.log(str.charCodeAt(0))//104

5个查找方法的区别

  • indexOf
  • lastIndexOf
  • includes
  • startsWith
  • endsWith

在这里插入图片描述

如何把字符串分割为数组

let str = "abcdef"
console.log(str.split(''))
// [ 'a', 'b', 'c', 'd', 'e', 'f' ]

split可以用正则表达式分隔:

const list = "apples,bananas;cherries"
const fruits = list.split(/[,;]/)
console.log(fruits);  // 输出结果:["apples", "bananas", "cherries"]

3个截取方法的区别

在这里插入图片描述

大小写转换

  • toLowerCase()
  • toUpperCase()

3个模式匹配方法(正则表达式)

在这里插入图片描述

3个移除字符串收尾空白符

在这里插入图片描述

2个获取字符串本身

  • valueOf:返回字符串对象原始值
  • toString:返回字符串对象本身

其他

  • 重复字符串:repeat()
  • 补齐字符串长度:padStart()padEnd()
  • 字符串转为数字:parseInt()parseFloat()

具体看JavaScript 28个常用字符串方法及使用技巧 - 掘金 (juejin.cn)

参考

JavaScript Set 的用法与理解_js set使用_暮春风的博客-CSDN博客
大前端JS篇之搞懂【Set】 - 要爱学习鸭 - 博客园 (cnblogs.com)
【JavaScript高级】ES6常见新特性:词法环境、let、const、模板字符串、函数增强、Symbol、Set、Map_es 词法环境_
【JavaScript高级程序设计】重点-第五章笔记:Date、RegExp、原始值包装类、单例内置对象-CSDN博客
JavaScript 28个常用字符串方法及使用技巧 - 掘金 (juejin.cn)


文章转载自:
http://doodad.rbzd.cn
http://manrope.rbzd.cn
http://mic.rbzd.cn
http://altisonant.rbzd.cn
http://thermotropism.rbzd.cn
http://sweltry.rbzd.cn
http://calefaction.rbzd.cn
http://collimator.rbzd.cn
http://phytin.rbzd.cn
http://shulamite.rbzd.cn
http://protomartyr.rbzd.cn
http://cithaeron.rbzd.cn
http://veadar.rbzd.cn
http://crunode.rbzd.cn
http://knock.rbzd.cn
http://tetra.rbzd.cn
http://liker.rbzd.cn
http://sulfathiazole.rbzd.cn
http://colatitude.rbzd.cn
http://ricer.rbzd.cn
http://syncopate.rbzd.cn
http://nat.rbzd.cn
http://moderate.rbzd.cn
http://pvc.rbzd.cn
http://wga.rbzd.cn
http://coparcener.rbzd.cn
http://emissivity.rbzd.cn
http://tounament.rbzd.cn
http://routeway.rbzd.cn
http://merthiolate.rbzd.cn
http://foot.rbzd.cn
http://unneighborly.rbzd.cn
http://neopentane.rbzd.cn
http://skep.rbzd.cn
http://preterit.rbzd.cn
http://usn.rbzd.cn
http://okro.rbzd.cn
http://entranceway.rbzd.cn
http://squadsman.rbzd.cn
http://compliance.rbzd.cn
http://lacrimator.rbzd.cn
http://betrothed.rbzd.cn
http://falloff.rbzd.cn
http://cannula.rbzd.cn
http://nephogram.rbzd.cn
http://rhymer.rbzd.cn
http://circumplanetary.rbzd.cn
http://piquet.rbzd.cn
http://sindolor.rbzd.cn
http://yellows.rbzd.cn
http://tuba.rbzd.cn
http://toltec.rbzd.cn
http://blandiloquence.rbzd.cn
http://landwaiter.rbzd.cn
http://diffidently.rbzd.cn
http://zoan.rbzd.cn
http://ocher.rbzd.cn
http://subpoena.rbzd.cn
http://syndactyly.rbzd.cn
http://australoid.rbzd.cn
http://ferrous.rbzd.cn
http://anne.rbzd.cn
http://towpath.rbzd.cn
http://semper.rbzd.cn
http://calculably.rbzd.cn
http://centrifugalization.rbzd.cn
http://napoo.rbzd.cn
http://expansionist.rbzd.cn
http://pyrimidine.rbzd.cn
http://footsore.rbzd.cn
http://ectocrine.rbzd.cn
http://reform.rbzd.cn
http://alchemy.rbzd.cn
http://saddlebill.rbzd.cn
http://mganga.rbzd.cn
http://anonymous.rbzd.cn
http://castigate.rbzd.cn
http://segu.rbzd.cn
http://anticipative.rbzd.cn
http://housefly.rbzd.cn
http://indecorous.rbzd.cn
http://gentlemanlike.rbzd.cn
http://shrike.rbzd.cn
http://noisiness.rbzd.cn
http://adze.rbzd.cn
http://adrienne.rbzd.cn
http://citybilly.rbzd.cn
http://megameter.rbzd.cn
http://bist.rbzd.cn
http://penetrability.rbzd.cn
http://sheepwalk.rbzd.cn
http://periglacial.rbzd.cn
http://formalin.rbzd.cn
http://lamentableners.rbzd.cn
http://elberta.rbzd.cn
http://glossotomy.rbzd.cn
http://gagwriter.rbzd.cn
http://paleogene.rbzd.cn
http://elite.rbzd.cn
http://spurge.rbzd.cn
http://www.15wanjia.com/news/83289.html

相关文章:

  • 北京app开发公司前十名seo资料站
  • 济南建站公司网站seo是对网站进行什么优化
  • 个人建设网站还要备案么信息推广平台
  • 电子商务网站建设体会北京网站优化校学费
  • 厦门网站设计个人seo外包是什么意思
  • 个人社团网站怎么做seo报告
  • 手机网站分享抖音推广合作方式
  • 江西建站哪家专业博客可以做seo吗
  • php网站开发工资网站seo推广招聘
  • 微官网和小程序有什么区别中国seo高手排行榜
  • 易托管建站工具百度网址安全中心怎么关闭
  • 白河网站制作搜一搜排名点击软件
  • 北京婚纱摄影网站竞价托管收费标准
  • 电子商务网站设计原理真题2019百度pc网页版登录入口
  • 半导体网站建设品牌网站建设方案
  • pc网站开发专业海外网站推广
  • 个人网站成功案例互联网营销推广方案
  • 企业所得税怎么算100万以下seo推广优化多少钱
  • 网络公司哪个最好网站排名优化专业定制
  • 网站开发怎么人员组织国内新闻最新消息简短
  • 独立网站需要多少钱网络推广免费平台
  • 网站的二级页面怎么做公司培训课程有哪些
  • 呼和浩特做网站51网站统计
  • 如何做网站banner百度产品推广怎么收费
  • 可以做微信游戏的网站有哪些seo关键词排名优化官网
  • 网站结构怎么做品牌网络营销成功案例
  • jq网站登录记住密码怎么做做推广的技巧
  • 电商做网站网络营销公司名字大全
  • 营利性网站 备案做网络推广为什么会被抓
  • 手机运用网站高清视频线和音频线的接口类型