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

【web前端】数组array、集合set、字典map、对象object、字符串string常见方法合集

数组 Array

arrLen = arr.push(2, 3)        //向数组末尾添加一个或多个元素,并返回修改后数组的长度

arrLen = arr.unshift(2, 3)     //向数组开头添加一个或多个元素,并返回修改后数组的长度

delElemt = arr.shift()        //删除数组中第一个元素, 并返回被删除元素

delElemt = arr.pop()        //删除数组最后一个元素, 并返回被删除元素

delArr = arr.splice(2, 2)   // (索引,个数) 删除第3和第4个元素或多个元素,并返回删除的数组

arr.reverse()        //颠倒数组中元素的顺序
arr.sort()             //数组中的元素按照首字母顺序排序
arr3.sort((a, b) => a - b)    //若 a < b, 则 a - b 是一个负数, 表示 a 应该在 b 前面——数组中的元素按照数字排序

newArr = arr.filter((value, index) => { return XX })  //筛选符合条件的元素, 返回一个新的数组

newArr = arr1.concat(arr2, 2, 3)         //将多个数组或值合并为一个新数组
for (let item of arr)    //使用for...of循环遍历数组
arr = [...str]              //使用扩展运算符将 字符串 转换为 数组——扩展运算符是用于展开可迭代对象(如数组、字符串等)
[A, ...B] = [1, 2, 3, 4, 5, 6]    //数组解构+扩展运算符
[x, y] = [y, x]                        //两数交换——//前一行不加分号; 会报错

集合 Set

let nst = new Set()     //创建一个空的Set集合——可包含初始值Set(['x', 'y'])
nst.add('z')                //向Set集合中添加新的元素——若该元素已经存在, 则不会重复添加,因为 Set 中的元素必须唯一
nst.delete('z')                                     //从Set集合中删除元素

console.log("nst.has", nst.has('y'))   //检查Set集合是否包含指定元素

console.log("nst.size", nst.size)        //获取Set集合的大小
arr = Array.from(nst)                         //使用 Array.from()方法将 Set集合 转换为 数组
arr = [...nst]                                      //使用扩展运算符将 Set集合 转换为 数组
for (let item of nst)                         //使用for...of循环遍历 Set集合
nst.forEach(value => { })               //使用forEach方法来遍历 Set集合
nst.clear()                                       //清空 Set

numSet = new Set(numArr)           //数组去重,将 数组 转换为 Set集合 

 字典 Map

let person = new Map ([        //创建Map集合
        ["name", "ABC"],
        ["gender", "女"],
])
person.set('gender', "男")    //在Map集合中, 每个键都是唯一的, 当使用相同的键再次调用 set() 方法时, 会替换原来键对应的值

person.delete('gender')        //删除元素

console.log("person.has", person.has('gender'))    //检查Map集合是否包含指定元素
console.log("person.size", person.size)                //获取Map集合的大小
arr = Array.from(person)        //将Map集合转换为数组
arr = [...person]                     //使用扩展运算符将 Map集合 转换为 数组
for (let [key, value] of person)             //使用for...of循环遍历Map集合——[key, value] 就是一种解构语法, 用于将 Map 集合中的键值对解构为 key 和 value 两个变量
person.forEach((value, key) => { })    //使用forEach方法遍历Map集合的键值对
person.clear()                                      //清空Map集合

对象 Object

 let person = {                //创建对象
        name: "ABC",
        gender: "女"

}

person.gender = "男"     //与map一样,每个键都是唯一的,使用相同的键再次赋值
delete person.gender    //删除属性

has = "gender" in person    //检查对象是否包含指定属性
Object.keys(person)         //用于获取对象属性名的数组
console.log("length", Object.keys(person).length)        //获取对象的属性数量

Object.entries(person)         //用于获取对象的键值对数组
for (let key in person) { }      //for...in 用于遍历对象的可枚举属性
Object.entries(person).forEach(([key, value]) => {}) //使用forEach方法遍历对象属性和值

person = {}    //清空对象
{ name: userName, gender } = person    //解构+重命名
{ gender = "女" } = person                      //解构+新建设置默认值

字符串 String

str.length                  // 字符串长度
str.toLowerCase()    // 转小写

str.toUpperCase()    // 转大写
str[2]                // 返回字符串在索引处的的字符
str = [...web]    // 字符串转为字符数组
num = parseInt("168")                  // 字符串转 int
str2 = str1.replace("x", "y")          // 字符串替换
str2 = str1.replaceAll("x",  "y")    // 字符串替换——在字符串中查找匹配的子串,并替换与正则表达式匹配的所有子串。

str = "   com   ".trim()    // 去除字符串两侧指定的字符
str.includes("xyz")        // 判断是否包含某个字符串——boolean
loc = str.indexOf("xxx") // 返回字符串中第一次出现某个字符串的位置,若不存在则返回-1
result = str.startsWith("http")   // 判断一个字符串是否以指定的前缀开头
result = str.endsWith("com")  // 判断一个字符串是否以指定的后缀结尾
arr = "x,y,z".split(",")             // 将字符串按照指定字符分割成数组
subStr1 = str.substr(0, 7)    // 字符串截取 substr(开始位置,截取长度)
        let subStr2  = str.substr(-3) //后三位
        let subStr3 = str.substr(3)  //[字符串下标从0开始]从第4个位置开始截取到末尾
repeatstr = str.repeat(3)    //重复字符串——重复3次字符串
str= "xyz".padStart(7,  "-") //在字符串前添加指定数量的填充字符(默认空格填充), 直到该字符串达到指定的长度——由于 xyz占 3 个字符, 因此只需要再添加 4 个横线, 即可达到总长度7
str= "xyz".padEnd(7, "-")  //在字符串后添加指定数量填充字符, 直到该字符串达到指定的长度


http://www.kler.cn/news/309807.html

相关文章:

  • 文件操作
  • OrionX GPU算力池助力AI OCR场景应用
  • git 更换远程地址的方法
  • [产品管理-15]:NPDP新产品开发 - 13 - 产品创新流程 - 具体产品的创新流程:精益生产与敏捷开发
  • 传感技术是如何实现实时监测和控制的呢
  • Flume:大规模日志收集与数据传输的利器
  • JAVA_15
  • 兰花种类识别系统源码分享
  • 【渗透测试】——Upload靶场实战(1-5关)
  • 怎么使用nginx把80端口代理到想要的端口?
  • 中、美、德、日制造业理念差异
  • C++学习笔记(19)
  • vue3路由基本使用
  • 283. 移动零(快慢指针)
  • Linux权限理解【Shell的理解】【linux权限的概念、管理、切换】【粘滞位理解】
  • 零基础考过软考信息系统项目管理师经验分享
  • H5依赖安装
  • 一、(JS)JS中鼠标事件-mouseenter、mouseleave和mouseover、mouseout区别
  • 使用Redis实现用户关注博客的推模式
  • Go 交叉编译
  • Jenkins部署若依项目
  • 开源 AI 智能名片 S2B2C 商城小程序中的全渠道供应策略
  • 深度学习张量变换操作利器 einops 基础实践
  • 消息中间件有哪些常见类型
  • sql刷题常用函数
  • 微博计算架构实战
  • 【Android 13源码分析】WindowContainer窗口层级-1-初识窗口层级树
  • 【车载开发系列】ParaSoft单元测试环境配置(三)
  • 【原创】java+springboot+mysql高校社团网系统设计与实现
  • 【数据库】MySQL-基础篇-多表查询