JavaScript面试精讲(六)——说说你经常使用到的array方法
目录
一.数组转换相关的方法
1.instanceof()
2.toString()
3.valueOf()
4.join()
二.数组的增删
1.数组的增加
2.数组的删除
三.数组的排序和反转
1.reserve()
2.sort()
四.数组的一些操作方法
1.concat()
2.slice()
3.splice()
五.数组的常见遍历方法
1.map()
2.for循环 这里不做解释,大家太熟悉
3.for....of
4.for...in
Array方法有好多,大致分为五类
一.数组转换相关的方法
1.instanceof()
这个方法主要用来检测类型
var obj=[]
console.log(obj instanceof Array) //true
2.toString()
将数组转化为字符串
var arr=[1,2,3,4,5,6]
console.log(arr.toString()) // 1,2,3,4,5,6
3.valueOf()
返回数组或对象的原始值,不作任何改变
var array2=["学生1","学生2","学生3","学生4","学生5","学生6","学生7","学生7"]console.log(array2.valueOf())
请忽略输出顺序,之前进行过顺序打乱操作
4.join()
与toString()方法相似,不同的是根据join()可以设置字符串用什么的间隔,或不间隔
var array2=["学生1","学生2","学生3","学生4","学生5","学生6","学生7","学生7"]console.log(array2.join('|')) // | 间隔console.log(array2.join('')) //不间隔
二.数组的增删
这里分为两组进行比较,方便读者记忆
1.数组的增加
push():从数组的尾部添加,并改变数组长度,输出新数组
var array3=[2,4,1,5,7,33,5,88,3]array3.push(1000)console.log(array3);
unshift():从数组的头部添加,并改变数组长度,输出新数组
---------------------------------------------------------------------------------------------------------------------------------
这里分享一下我在项目中使用的场景,当你做展现用户搜索历史时,最新的搜索关键词就应该加入到数组的头部进行渲染!!!1.
--------------------------------------------------------------------------------------------------------------------------------
2.数组的删除
pop():从数组的尾部删除,并改变数组长度,输出新数组
shift():从数组的头部删除,并改变数组长度,输出新数组
三.数组的排序和反转
1.reserve()
反转数组的排列顺序
var arr=[1,2,3,4,5]
arr=arr.reverse()
console.log(arr) //5,4,3,2,1
2.sort()
对数组进行排序,但使用有很多坑,这里不做详解,感兴趣的看我其它文章详解
四.数组的一些操作方法
1.concat()
对字符串数组进行拼接
var arr=[1,2,3,4]
var arr1=[5,6,7,8]
arr=arr.concat(arr1) //1,2,3,4,5,6,7,8
2.slice()
slice(start,end)这里传入两个参数 指定数组的输出范围 注意:包含开始,不包含结束
[ start,ennd)
3.splice()
- splice:向数组中插入若干项,返回一个数组,数组中包含从原始数组中删除的项,如果没有删除则返回一个空数组。主要用途包括:
- 删除:指定两个参数,要删除的起始项以及项数;
- 插入:需要插入至少三个参数,起始位置,要删除的项数,以及要插入的元素(可以传入多个);
- 替换:先删除任意项,再插入任意项。需要指定三个参数,起始项数,要删除的项数,以及插入的项;插入的项不必与删除的项数相等;
五.数组的常见遍历方法
1.map()
将原数组映射为一个新数组,不操作原数组,返回新数组值和索引
let arr = ['123','qwewq','sfds'];arr.map(function(value,index){console.log(value,index);});
2.for循环 这里不做解释,大家太熟悉
3.for....of
无法遍历对象
var arr=[1,2,3,4,5]
for(let item of arr){
console.log(item)
}
4.for...in
数组对象都可遍历
var obje1={name:'zs',age:12}for(let item in obje1){console.log(item); //name ageconsole.log(obje1[item]) // zs 12}
JavaScript面试精讲(六)——说说你经常使用到的array方法相关推荐
- JavaScript面试精讲(七)——谈谈深拷贝和浅拷贝
一.浅拷贝 浅拷贝 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象.即对象的浅拷贝会对"主"对象进行拷贝,但不会复制主对象里面的对象.& ...
- JavaScript异步精讲,让你更加明白Js的执行流程!
JavaScript异步精讲,让你更加明白Js的执行流程! 问题点 什么是单线程,和异步有什么关系 什么是 event-loop jQuery的Deferred Promise 的基本使用和原理 as ...
- java基础:Java七大外企经典面试精讲视频
java基础:Java七大外企经典面试精讲视频 对于很多应聘java程序员的求职者来说,全面掌握java面试技巧,确实是自己找到一个好工作的敲门砖.今天小编在这里给大家分享一个关于java基础的Jav ...
- 面试精讲(guigu)
文章目录 精讲 1. 基础部分 2. 对象 3. 原型 4. 预解析 5.执行上下文 6. 作用域 7. 闭包 9. 同步/异步 11. Promise 精讲 1. 基础部分 变量:用来存放数据,保存 ...
- 面试精讲之面试考点及大厂真题 - 分布式专栏 23 分布式系统下分布式锁的实现
23 分布式系统下分布式锁的实现 困难只能吓倒懦夫懒汉,而胜利永远属于敢于等科学高峰的人. --茅以升 引言 锁是开发过程中十分常见的工具,你一定不陌生,悲观锁,乐观锁,排它锁,公平锁,非公平锁等等, ...
- 【JavaScript 教程】第六章 数组03— Stack :使用 Array 的push()和pop()方法实现堆栈数据结构...
英文 | https://www.javascripttutorial.net/ 译文 | 杨小爱 在上节,我们学习了JavaScript Array length属性以及如何正确处理它,错过的小伙伴 ...
- Javascript语法精讲——ECMAScript(一)
1.JavaScript基础-基本概念 1.1.什么是JavaScript? JavaScript简称JS,是前端开发的一门脚本语言(解释型语言). 解释型语言:程序执行之前,不需要编译就可以直接运行 ...
- 架构面试精讲第四节 高并发下高可用、高性能架构详解
15 如何向面试官证明你做的系统是高可用的? 我们已经用了五个模块分别讲了架构原理.分布式技术.中间件.数据库,以及缓存,这些都是面试中必考的技术领域和技术点,又因为我们处在大数据和互联网时代,所以高 ...
- 面试精讲之面试考点及大厂真题 - 分布式专栏 21 限流不能乱用-系统限流最佳实践
21 限流不能乱用-系统限流最佳实践 没有引发任何行动的思想都不是思想,而是梦想. -- 马丁 引言 19.20小节讲了系统中的降级熔断设计和对 Hystrix 组件的功能了解,关于限流降级还有一个比 ...
最新文章
- JAVA 的wait(), notify()与synchronized同步机制
- 第十、十一周项目三-警察和厨师(1)
- ajax post 空格变加号,Ajax Post数据加号变空格详解
- react-native scrollview触摸滚动事件
- Homebrew替换源
- android 按钮 菜单,(期末要考啊)Android的menu(菜单)按钮的使用
- Graph Embedding及其在知乎的实践(附pdf下载链接)
- 怎么把GMS的软件转到HMS?
- Alpha阶段-个人总结
- lintcode :最长公共前缀
- 使用.net开发并生成Windows服务安装包
- python:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 身份证号码 js验证
- python 自然语言处理(四)____词典资源
- 基于auto.js的安卓抢购软件---淘宝抢购小助手(不完善,仅供参考)
- Linux就这个范儿 第16章 谁都可以从头再来--从头开始编译一套Linux系统 nsswitch.conf配置文件...
- 【GPGPU编程模型与架构原理】第一章 1.2 GPGPU 发展概述
- C++作业 设计一个程序实现油桶面积与体积的计算(构造函数与析构函数)
- MFC中CPropertySheet与CTabCtrl的使用
- 思科网络学院-网络互联-第一章