数组的方法
一,常用:
添加/删除
-
push 添加元素到数组最后一个位置会改变原数组,返回新的长度,会改变原数组
-
unshift():;向数组的第一个位置添加元素,返回的是新数组的长度,会改变原数组的长度
-
pop删除数组中最后一个元素,返回被删除的元素会改变原数组,
-
shift,删除数组第一个元素,该方法返回的是被删除的元素会改变数组
顺序
-
reverse() 会改变原数组的顺序,颠倒数组中元素的顺序返回新的数组
-
sort 对数组元素进行排序返回的是新的数组sort(a,b){return a-b} (正序)
转化/变态
-
tostring():将数组里的元素转化为字符串
-
join(',')将数组中的元素转化为字符串的形式:,分隔,
join()
方法更常用,因为它允许你指定分隔符。
查找/索引
-
indexOf()
从左往右通过字符找索引 -
lastIndexOf()从右向左查找字符的索引
-
indexOf()
和lastIndexOf()
都返回索引值,如果找不到元素则返回-1
。
截取/联接
-
concat()连接两个或者多个数组不影响数组,返回新的字符
-
slice()截取数组(start,end)取前不取后 截取为索引值,返回被截取的数组,影响原数组,但不会改变原数组
-
splice(start,content,' ')截取或者添加 start 截取位置 content 删除的个数,' '要添加的元素,会改变原数组
其中不会改变原数组的方法有 concat join tostring slice indenxOf lastinexOf
高阶中数组的方法
循环遍历
-
forEach():单纯循环数组,处理数组中的每一个元素,没有返回值
-
map():循环数组,返回的是新处理的数组,新数组长度与原来数组长度一致 没有返回值的时候和forEach方法一样
-
filter();过滤 筛选 把数组中符合指定条件的数据保留,不符合的数据删掉,返回一个符合指定条件元素组成的新数组 如果没有则返回null 有返回值
-
every():返回布尔值 全部满足返回true,其他返回false
-
some():返回的是布尔值,有一个满足就返回true 他、、其他为false
-
共同点:它们都接受一个回调函数作为参数
查找
-
indenxOf() :通过字符找索引 返回的是索引值
-
includes():用来判断数组中书否包含指定的值,返回的是布尔值,如果包含返回true,不包含返回false
-
find();返回第一个满足条件的元素,不满足返回undefined
-
findIndex() :返回符合条件的第一个元素的索引值。若没有找到对应元素则返回 -1
-
valuesOf():在JavaScript中,
Array.prototype.values()
方法返回一个新的迭代器对象,该对象包含数组中每个索引的元素。这个方法是用来获取数组中值的迭代器,它遵循数组的索引顺序。 -
stringOf()
迭代方法
-
every() 用来测试所有元素是否符合指定条件,全都符合才返回true
-
forEach() 对数组里的每一个元素进行指定的操作
-
some() 也是用来检测是否符合指定的条件,但是它检测的是只要有一个符合指定条件就返回true
-
它们的行为和返回值不同。
转换方法
-
concat() 用来合并数组的类似于+
-
join(',')将数组转化为字符串
-
split('')将字符串转化为数组
-
split('')将字符串转化为数组注意的点:1.
split()
方法返回的数组是字符串的一个浅拷贝,不会修改原始字符串2.如果原始字符串是空字符串,split()
方法将返回一个空数组。3.分隔符在结果数组中不会被包含。如果方法里的引号中放入了','说明是以,为节点进行分割成数组