首页 > 其他分享 >前端面试题:数组、字符串方法

前端面试题:数组、字符串方法

时间:2023-10-25 18:55:57浏览次数:36  
标签:返回 面试题 改变 索引 数组 字符串 替换

数组

  1、push:   末尾添加元素,改变原数组

  2、pop:    删除并返回最后一个元素,改变原数组

  3、unshift:    开头添加一个元素,改变原数组

  4、shift:   删除第一项,改变原数组

  5、concat:  合并数组并生成一个新数组,不改变原数组

  6、join:     把数组分割为字符串,默认为 ','

  7、reverse:  反转数组(倒序),改变原数组

  8、sort:    排序,默认为升序, 改变原

     用法:

        arrar.sort((a, b) => a - b)  升序

        arrar.sort((a, b) => b - a)  降序

  9、map:    循环,返回新数组,不改变原数组

  10、forEach:循环,改变原数组

  11、filter:   过滤,符合条件并生成新数组,不改变原数组

  12、every:  所有元素都符合条件返回true,否则返回false。 等同于&

  13、some:  有一个元素符合条件就返回true,否则返回false。等同于 | |

  14、includes: 数组是否包含某一项

  15、indexOf: 查找元素,返回index(若没有查到,则返回 -1)

  16、lastIndexOf: 从末尾开始查找元素

  17、reduce:   累加器

      4个参数:前一值,当前值,索引,数组对象

      一项一项迭代到下一项

  18、reduceRight: 反向累加器,与上述reduce同理

  19、slice:  截取,从start开始,end(不包含)结束,都可以为负数(负数倒数),end默认为数组长度  

  20、splice: 可删可增可改,改变原数组

  21、Array.isArray(): 判断是否为数组

  

  数组乱序:

    const arrar = [1, 2, ...]

    arrar.sort(() => Math.random() - 0.5)

  数组拆解(数组扁平化):

    const arr = [1, 3, [7, 4, 2]]

      想要效果:[1, 3, 7, 4, 2]

    I:arr.toString().split(',')

    II:arr.flat(Infinity)

    iii:递归/reduce+concet

 

字符串

 

  字符串所有方法都返回新字符串,不会更新原字符串

  1、indexOf/lastIndexOf:  查找目标在字符串中的位置(索引),两参(目标, 指定位置开始),返回索引

  2、search:   搜索特定字符串,并返回位置

  3、slice:    提取字符串内容,参数: 起始索引, 终止索引(不包含终止索引,默认为字符串长度), 参数可以为负数

  4、substring: 与slice一样,但不接受负数

  5、substr:   截取,参数:起始位置,切割长度(不能为负数)

  6、toUpperCase:  转换成大写

     toLowerCase:  转换成小写

  7、trim:    删除字符串两端的空白,只能删除左右两端

  8、concat:  连接字符串,与 + 相同

  9、charAt(索引值):  返回指定下标的字符串

  10、split:    字符串分割为数组,默认','

  11、replace(被替换,替换): 替换内容,只替换一次;

     replaceAll(被替换,替换): 替换内容,替换所有;

  12、startWith/endsWith:  判断字符串是否为开头/结尾,返回true/false,大小写敏感

  13、includes('查找项', 开始索引):  判断字符串是否包含查找项,返回true/false

  14、match(regExp):  匹配字符串是否满足正则表达式规则

  15、toString():  转换(几进制)

  16、repeat():    将原字符串重复几次,如果是小数,会向下取整

  17、padStart/padEnd: 用于补全头部/尾部

 

标签:返回,面试题,改变,索引,数组,字符串,替换
From: https://www.cnblogs.com/lijinxiao/p/17787901.html

相关文章

  • Python中数值类型、布尔类型、字符串类型的特征及方法的使用
    数值类型包括int(整形)、float(浮点型)、complex(复数型)1.整型(int)整数就是没有小数部分的数字,Python中的整数包括正整数、0和负整数。为任意大小的整形数,可以表示成十进制八进制、十六进制和二进制。例:>>>0b1101+100 113>>>0x10+218>>>10+212>>>1_2_3_41234 2.......
  • mysql的regex匹配多个字符串且不包含子串
     mysql的regex匹配多个字符串且不包含子串,regex使用、mysqlregex使用、mysqlregex详解、regex的高级使用 camera_label字段是以逗号分割的字符串 1.查询包含 camera_2标签的数据select*fromdevice_info_datawherescope_type=2andcamera_labelREGEXP('came......
  • 由遍历二维数组的方式引出缓存内存cpu
    对于二维数组,想要遍历的话,一行一行读和一列一列都读可以,但是大多数情况都选择一行一行,为什么呢?涉及到一个缓存的概念,一般都是cpu去计算,它会先去缓存找,如果找不到才去内存,先说缓存,一般缓存就是类似于一行一行,有个临近效应,顺便把旁边的也读了,十分方便,这就是缓存,入股一列一列,读完......
  • 由于正则表达式的匹配顺序,这个例子可能并不会按照你期望的方式工作。正则表达式会从左
    在Python中,你可以使用re模块的sub函数来替换字符串中的特定字符或字符串。以下是一个示例,它将字符串中的'a'、'b'和'ab'替换为'c':importres='abracadabra's=re.sub('a|b|ab','c',s)print(s)#打印替换后的字符串在这个例子中,'a|b|ab'是一个正则表......
  • 基础数据结构之动态数组的构造
    现在,要自己写一个动态数组出来,这很有意思,可以让数组变得灵活高级 先写出它的容量,capacity,看看就是做一个箱子,看看要做多大个,这个是较为稳定的接着就是逻辑长度size,就是箱子里实际上装了多少东西,这个就是比较容易浮动的然后既然是动态数组,那也要建立一个最基础的数组装着 ......
  • JavaScript树型数据与一维数组相互转换方式
     /***@description一维数组转树形数据**/exportconstarrToTree=(data=[],conf={})=>(((data,{id='id',parentId='parentId',children='children'})=>{letresult=[]if(!Array.isArray(data)){r......
  • 树状数组
    树状数组树状数组支持的基本操作:单点修改,前缀和查询一维树状数组单点修改,区间查询对于单点修改,直接修改即可。对于区间查询,拆成\(sum(r)-sum(l-1)\)来做。区间修改,单点查询考虑在原序列的差分序列上建立树状数组。于是单点修改转化为前缀和查询。区间修改转化为单点修改......
  • MySQL 有哪些常见的面试题
    MySQL是一种常用的关系型数据库管理系统,在面试过程中经常会涉及与MySQL相关的问题。以下是一些常见的MySQL面试题:1.介绍一下MySQL和其他数据库管理系统的区别。  -MySQL是开源的,其他商业数据库管理系统(如Oracle、MicrosoftSQLServer)需要购买许可证。  -My......
  • C# 面试题归纳
    本文章只是自己面试遇到的问题,C#基础知识。如达不到个人的需要请留言您的问题。大家共同交流。收藏,以备面试时,快速梳理一下,大脑。 一、基础知识1.值类型与引用类型值类型:int、float、char、bool、decimal、struct、enum引用类型:string、class、object、array、interface、......
  • jquery把json字符串转化为json对象需要注意的问题(json用单引号或双引号是不同的)
    1.将json字符串转化为json对象方案一:jquery自带的$.parseJSON函数varjsonstr="{\"id\":\"1\",\"name\":\"jack\"}";varobj=$.parseJSON(jsonstr);说明:使用该方法对json字符串的要求比较高,属性名和属性值必须使用双引号,使用单引号或者不是用引号都会出错 方案二:js自带的eval函......