面试官:常见的数组方法有哪些?(二)

简介: 面试官:常见的数组方法有哪些?(二)
注意点:
  • 截取开始的索引,包含开始索引
  • 截取结束的索引,不包含结束索引
let a = [1,2,3,4,5]
let b = a.slice(1)
let c = a.slice(1,4)
console.log(b) // [2,3,4,5]
console.log(c) // [2,3,4]
  1. splice()方法删除元素并可以向数组添加新的元素,会影响到原数组,并将删除的元素作为数组返回
let arr = [1,2,3,4]
let res = arr.splice(0, 1) //删除
console.log(arr) // [2,3,4]
console.log(res) // [1]
console.log(arr) // [6,2,3,4]
  1. splice()方法删除元素并可以向数组添加新的元素,会影响到原数组,并将删除的元素作为数组返回
let arr = [1,2,3,4]
let res = arr.splice(0, 1, 6) // 在 下标 1 的地方替换成 6
console.log(arr) // [6, 2, 3, 4]
console.log(res) // []
  1. includes() 方法用于判断数组中是否判断该元素,返回 truefalse
let arr = [1,2,3,4]
console.log(arr.includes(1)) // true
console.log(arr.includes(5)) // false
  1. indexOf() 方法用于查找数组某个元素的下标,如果没有则返回 -1
let arr = [1,2,3,4]
console.log(arr.indexOf(1)) // 0
console.log(arr.indexOf(5)) // -1
  1. find() 方法用于匹配元素,并返回匹配结果
let arr = [1,2,3,4]
arr.find((item, index, array) => item < 4) // 1

数组转换

  1. join() 该方法用于将数组转换为字符串,并用分隔符分隔
let arr = [1,2,3,4]
console.log(arr.join(',')) // 1,2,3,4
  1. split() 该方法是将字符串,以相同字符作为分隔符,转换为数组
let str = '1,2,3,4'
console.log(str.split(',')) // [1,2,3,4]

排序方法

  1. reverse() 该方法用于将数组倒过来排序, 会改变原数组
let arr = [1,2,3,4]
console.log(arr.reverse()) // [4,3,2,1]
  1. sort() 数组.sort(fn => fn()):将数组按照指定的顺序进行排序
let arr = [12,45,6,21,51,81];
let b = arr.sort((a,b) => (a-b)); // 升序排列,
console.log(b) // [6, 12, 21, 45, 51, 81]


相关文章
|
前端开发
前端学习笔记202307学习笔记第六十五天-模拟面试-手写数组方法翻转字符串1
前端学习笔记202307学习笔记第六十五天-模拟面试-手写数组方法翻转字符串1
71 0
|
前端开发
前端学习笔记202307学习笔记第六十五天-模拟面试-手写数组方法翻转字符串1
前端学习笔记202307学习笔记第六十五天-模拟面试-手写数组方法翻转字符串1
76 0
|
前端开发
前端学习笔记202307学习笔记第六十五天-模拟面试-手写数组方法翻转字符串2
前端学习笔记202307学习笔记第六十五天-模拟面试-手写数组方法翻转字符串2
78 0
|
6月前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
3月前
|
存储 缓存 算法
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
本文介绍了多线程环境下的几个关键概念,包括时间片、超线程、上下文切换及其影响因素,以及线程调度的两种方式——抢占式调度和协同式调度。文章还讨论了减少上下文切换次数以提高多线程程序效率的方法,如无锁并发编程、使用CAS算法等,并提出了合理的线程数量配置策略,以平衡CPU利用率和线程切换开销。
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
|
3月前
|
存储 算法 Java
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
本文详解自旋锁的概念、优缺点、使用场景及Java实现。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
|
3月前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
90 4
|
4月前
|
算法 Java 数据中心
探讨面试常见问题雪花算法、时钟回拨问题,java中优雅的实现方式
【10月更文挑战第2天】在大数据量系统中,分布式ID生成是一个关键问题。为了保证在分布式环境下生成的ID唯一、有序且高效,业界提出了多种解决方案,其中雪花算法(Snowflake Algorithm)是一种广泛应用的分布式ID生成算法。本文将详细介绍雪花算法的原理、实现及其处理时钟回拨问题的方法,并提供Java代码示例。
131 2

热门文章

最新文章