-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
面试官:Javscript数组的常用方法有哪些? #52
Comments
indexOf()如果没找到则返回 -1 |
includes() 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回false。 |
数组还有两个归并方法reduce()和reduceRight()。两个方法都会迭代数组的所有项,然后构建一个最终返回的值。reduce()方法从数组的第一项开始,逐个遍历到最后,reduceRight()从数组的最后一项开始,向前遍历到第一项 |
1 similar comment
数组还有两个归并方法reduce()和reduceRight()。两个方法都会迭代数组的所有项,然后构建一个最终返回的值。reduce()方法从数组的第一项开始,逐个遍历到最后,reduceRight()从数组的最后一项开始,向前遍历到第一项 |
forEach和map有什么区别? |
some 那里代码写错哦 还是用了every |
some和every使用写错了, var ages = [3, 10, 18, 20]; function checkAdult(age) { ages.some(checkAdult); // true |
splice 返回被删除的数组 |
forEach的意义在于同步调用函数,代替for |
reduce这么重要的方法也加上去啊 |
reduce简单用法--求和、乘积 reduce高级用法 let nameNum = names.reduce((pre,cur)=>{ (2)数组去重 (3)二维转一维 (4)多维转一维 (5)对象里属性求和 var sum = result.reduce(function(prev, cur) { |
splice |
foreach是对原数组进行操作,map是赋值给新数组,对新数组进行操作 |
还有findIndex,哈哈 |
一、操作方法
数组基本操作可以归纳为 增、删、改、查,需要留意的是哪些方法会对原数组产生影响,哪些方法不会
下面对数组常用的操作方法做一个归纳
增
下面前三种是对原数组产生影响的增添方法,第四种则不会对原数组产生影响
push()
push()
方法接收任意数量的参数,并将它们添加到数组末尾,返回数组的最新长度unshift()
unshift()在数组开头添加任意多个值,然后返回新的数组长度
splice
传入三个参数,分别是开始位置、0(要删除的元素数量)、插入的元素,返回空数组
concat()
首先会创建一个当前数组的副本,然后再把它的参数添加到副本末尾,最后返回这个新构建的数组,不会影响原始数组
删
下面三种都会影响原数组,最后一项不影响原数组:
pop()
pop()
方法用于删除数组的最后一项,同时减少数组的length
值,返回被删除的项shift()
shift()
方法用于删除数组的第一项,同时减少数组的length
值,返回被删除的项splice()
传入两个参数,分别是开始位置,删除元素的数量,返回包含删除元素的数组
slice()
slice() 用于创建一个包含原有数组中一个或多个元素的新数组,不会影响原始数组
改
即修改原来数组的内容,常用
splice
splice()
传入三个参数,分别是开始位置,要删除元素的数量,要插入的任意多个元素,返回删除元素的数组,对原数组产生影响
查
即查找元素,返回元素坐标或者元素值
indexOf()
返回要查找的元素在数组中的位置,如果没找到则返回-1
includes()
返回要查找的元素在数组中的位置,找到返回
true
,否则false
find()
返回第一个匹配的元素
二、排序方法
数组有两个方法可以用来对元素重新排序:
reverse()
顾名思义,将数组元素方向排列
sort()
sort()方法接受一个比较函数,用于判断哪个值应该排在前面
三、转换方法
常见的转换方法有:
join()
join() 方法接收一个参数,即字符串分隔符,返回包含所有项的字符串
四、迭代方法
常用来迭代数组的方法(都不改变原数组)有如下:
some()
对数组每一项都运行传入的函数,如果有一项函数返回 true ,则这个方法返回 true
every()
对数组每一项都运行传入的函数,如果对每一项函数都返回 true ,则这个方法返回 true
forEach()
对数组每一项都运行传入的函数,没有返回值
filter()
对数组每一项都运行传入的函数,函数返回
true
的项会组成数组之后返回map()
对数组每一项都运行传入的函数,返回由每次函数调用的结果构成的数组
The text was updated successfully, but these errors were encountered: