博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前端面试要求进一步提高,速成的程序员面试10家均未通过!
阅读量:7059 次
发布时间:2019-06-28

本文共 2706 字,大约阅读时间需要 9 分钟。

不去面试,你永远也不知道现在的面试题是些啥样,仿佛各大公司换着法折腾,对于面试者来说以往的老套路已经完全不够用了,比如友人一个公司的技术总监,让他们出了一堆的算法题来面试前端,还有的考验css/javascript的一些最基础的底层知识问题,比如,你能用几种方法创建对象,能用几种方法对数组去重等一系列的没有固定答案的题目,这就要求面试者的基本功很扎实,对于那些速成javascript,一上手就学习框架的人群来讲,真是没有半分面子可讲。但是如果能把一步一个脚印,把基础学习扎实,包括对于原生javascript的学习,一步步掰碎来学,那么这些面试,也就是很简单了,很多人觉得这样学习会很慢,但是一份月薪过万的工作,再怎么慢,也是值得的。我们既要仰望天空,更应该脚踏实地,下面是一个企业的老猿给新人培训总结的关于javascript Array对象的一份详解,希望大家能收藏!

如果有正在学习前端/javascript的伙伴,不知道怎么学习,或者该学些什么才能找到工作的可以一起来我们的头条前端群570946165,一整套前端学习路线及系统学习资料已上传到群文件!

javascript Array 对象方法

javascript数组创建与修改

1. 创建

  1. var arr = [];

  2. var arr = new Array()

  3. Array.of(el1[,el2[...]]) //创建一个新数组实例

  4. Array.from(arrayLike) //将类数组(类似数组的对象和可遍历的对象)转为真正的数组。

// ES5的写法var arr1 = [].slice.call(arrayLike); // ES6的写法let arr2 = Array.from(arrayLike);

2. 合并

Array.prototype.concat(arr1[,arr2..]) //合并两个或多个数组。不更改现有数组,而是返回一个新数组。

3. 转化为字符串

  1. Array.prototype.join(separator) //以separator(默认为逗号)拼接为字符串。

  2. Array.prototype.toString() //把数组转换为字符串,数组中的元素之间用逗号分隔。

4. 填充

  1. Array.prototype.fill(value[, start, end]) //用一个固定值填充[start,end)的元素。

判断数组

  1. Array.isArray() //判断传递的值是否是一个 Array。

筛选排序递归

1. 筛选

  1. Array.prototype.filter()

  2. Array.prototype.map()

2. 排序

  1. Array.prototype.reverse() //将数组中元素的位置颠倒。

  2. Array.prototype.sort()

3. 递归

  • Array.prototype.reduce()

语法:arr.reduce(callback,[initialValue])

  • callback(accumulator,currentValue,currentIndex,array)

  1. accumulator 上一次调用回调返回的值

  2. currentValue 数组中正在处理的元素

  3. currentIndex 数据中正在处理的元素索引

  4. array 调用 reduce 的数组

  • initialValue [可选],用于第一次调用 callback 的第一个参数。

增删改查

1. 查找

  1. Array.prototype.some(callback) //执行一次 callback 函数,直到找到一个使得 callback 返回true。

  2. Array.prototype.every(callback) //数组的所有元素是否都通过callback 函数。

  3. Array.prototype.find(callback) //在数组中返回符合callback第一个元素的值。

  4. Array.prototype.findIndex(callback)//返回数组中满足callback的第一个元素的索引。否则返回-1。

  5. Array.prototype.includes(searchElement) //是否包含一个指定的值

2. 增、删

  1. Array.prototype.pop() //删除数组最后一个元素,并返回该元素的值。

  2. Array.prototype.push() //增加元素到数组末尾。

  3. Array.prototype.shift() //删除数组第一个元素。

  4. Array.prototype.unshift() //增加元素到数组开头。

  5. Array.prototype.slice(start,end) //返回[start,end)**浅拷贝**到一个新数组对象,**原数组不会被修改**。

  6. Array.prototype.splice() //通过删除现有元素和/或添加新元素来更改一个数组的内容,**会直接对数组进行修改**。

  • array.splice(start)

  • array.splice(start, deleteCount)

  • array.splice(start, deleteCount, item1, item2, ...)

start : 如果超出了数组的长度,则从数组末尾开始添加内容;如果是负值,则表示从数组末位开始的第几位(从1计数)。

deleteCount : 如果 deleteCount 是 0,则不移除元素,这种情况下,至少应添加一个新元素;如果 deleteCount 大于start 之后的元素的总数,则从 start 后面的元素都将被删除(含第 start 位);如果deleteCount被省略,则其相当于(arr.length - start)。

item1, item2, ... :要添加进数组的元素

循环遍历

  • Array.prototype.map(callback)

  • Array.prototype.forEach(callback)

  • Array.prototype.entries() //返回一个新的Array Iterator对象,该对象包含数组中每个索引的键/值对。

  • Array.prototype.keys() //返回一个新的Array迭代器,它包含数组中每个索引的键。

  • Array.prototype.values() //返回一个新的 Array Iterator 对象,该对象包含数组每个索引的值。

前端面试要求进一步提高,速成的程序员面试10家均未通过!

转载地址:http://fbfll.baihongyu.com/

你可能感兴趣的文章
5.5. VoIP / Meeting
查看>>
[LeetCode] Valid Palindrome
查看>>
聊下 git remote prune origin
查看>>
【转】如何用 Chrome for Android 做远程遥控 debugging
查看>>
Ajax异步验证登陆或者注册
查看>>
整合百度推送碰到的问题
查看>>
使用Fusioncharts实现后台处理进度的前台展示
查看>>
CentOS 7下配置本地yum源及yum客户端
查看>>
Mybatis中的collection、association来处理结果映射
查看>>
如何对 GIT 分支进行规划? (转)
查看>>
浅谈简单工作流设计——责任链模式配合策略与命令模式的实现
查看>>
HDOJ(HDU) 1406 完数
查看>>
gradle项目中资源文件的相对路径打包处理技巧
查看>>
让手机支持OTG,不看绝对后悔! - 我也做一回搬运工,解决RFID读卡器OTG支持问题...
查看>>
Hadoop-2.7.0 HDFS DataXceiverServer两个参数的疑问
查看>>
linux exec函数家族
查看>>
几种软负载均衡策略分析
查看>>
.net——序列化与反序列化中对日期时间的处理
查看>>
独家揭露网站内链建设seo优化的科学方法
查看>>
MVVM 模式介绍
查看>>