目录

一.数组转换相关的方法

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方法相关推荐

  1. JavaScript面试精讲(七)——谈谈深拷贝和浅拷贝

    一.浅拷贝 浅拷贝 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象.即对象的浅拷贝会对"主"对象进行拷贝,但不会复制主对象里面的对象.& ...

  2. JavaScript异步精讲,让你更加明白Js的执行流程!

    JavaScript异步精讲,让你更加明白Js的执行流程! 问题点 什么是单线程,和异步有什么关系 什么是 event-loop jQuery的Deferred Promise 的基本使用和原理 as ...

  3. java基础:Java七大外企经典面试精讲视频

    java基础:Java七大外企经典面试精讲视频 对于很多应聘java程序员的求职者来说,全面掌握java面试技巧,确实是自己找到一个好工作的敲门砖.今天小编在这里给大家分享一个关于java基础的Jav ...

  4. 面试精讲(guigu)

    文章目录 精讲 1. 基础部分 2. 对象 3. 原型 4. 预解析 5.执行上下文 6. 作用域 7. 闭包 9. 同步/异步 11. Promise 精讲 1. 基础部分 变量:用来存放数据,保存 ...

  5. 面试精讲之面试考点及大厂真题 - 分布式专栏 23 分布式系统下分布式锁的实现

    23 分布式系统下分布式锁的实现 困难只能吓倒懦夫懒汉,而胜利永远属于敢于等科学高峰的人. --茅以升 引言 锁是开发过程中十分常见的工具,你一定不陌生,悲观锁,乐观锁,排它锁,公平锁,非公平锁等等, ...

  6. 【JavaScript 教程】第六章 数组03— Stack :使用 Array 的push()和pop()方法实现堆栈数据结构...

    英文 | https://www.javascripttutorial.net/ 译文 | 杨小爱 在上节,我们学习了JavaScript Array length属性以及如何正确处理它,错过的小伙伴 ...

  7. Javascript语法精讲——ECMAScript(一)

    1.JavaScript基础-基本概念 1.1.什么是JavaScript? JavaScript简称JS,是前端开发的一门脚本语言(解释型语言). 解释型语言:程序执行之前,不需要编译就可以直接运行 ...

  8. 架构面试精讲第四节 高并发下高可用、高性能架构详解

    15 如何向面试官证明你做的系统是高可用的? 我们已经用了五个模块分别讲了架构原理.分布式技术.中间件.数据库,以及缓存,这些都是面试中必考的技术领域和技术点,又因为我们处在大数据和互联网时代,所以高 ...

  9. 面试精讲之面试考点及大厂真题 - 分布式专栏 21 限流不能乱用-系统限流最佳实践

    21 限流不能乱用-系统限流最佳实践 没有引发任何行动的思想都不是思想,而是梦想. -- 马丁 引言 19.20小节讲了系统中的降级熔断设计和对 Hystrix 组件的功能了解,关于限流降级还有一个比 ...

最新文章

  1. JAVA 的wait(), notify()与synchronized同步机制
  2. 第十、十一周项目三-警察和厨师(1)
  3. ajax post 空格变加号,Ajax Post数据加号变空格详解
  4. react-native scrollview触摸滚动事件
  5. Homebrew替换源
  6. android 按钮 菜单,(期末要考啊)Android的menu(菜单)按钮的使用
  7. Graph Embedding及其在知乎的实践(附pdf下载链接)
  8. 怎么把GMS的软件转到HMS?
  9. Alpha阶段-个人总结
  10. lintcode :最长公共前缀
  11. 使用.net开发并生成Windows服务安装包
  12. python:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
  13. 身份证号码 js验证
  14. python 自然语言处理(四)____词典资源
  15. 基于auto.js的安卓抢购软件---淘宝抢购小助手(不完善,仅供参考)
  16. Linux就这个范儿 第16章 谁都可以从头再来--从头开始编译一套Linux系统 nsswitch.conf配置文件...
  17. 【GPGPU编程模型与架构原理】第一章 1.2 GPGPU 发展概述
  18. C++作业 设计一个程序实现油桶面积与体积的计算(构造函数与析构函数)
  19. MFC中CPropertySheet与CTabCtrl的使用
  20. 思科网络学院-网络互联-第一章

热门文章

  1. iOS开发-DES加密解密算法
  2. 19款外贸ERP软件大盘点
  3. 给你100万条数据的一张表,你将如何查询优化?
  4. 苹果自助维修服务上线:维修工具租赁价约为321元
  5. 开源项目推荐:OpenGL之gult/freeglut/glew/glfw/glad的联系与区别
  6. 简单快速!分享给你一款在线jpg格式转换器
  7. 神龙版 (官方网站 下载)
  8. 国密SSL证书保障网站安全
  9. 比越南妹划算 1元团购美女
  10. oracle 转义 039,案例:Oracle报错ORA-19583 ORA-27206 ORA-06512