JavaScript学习——数组篇之数组中的内置函数
splice()函数
splice()函数的主要目的是在数组中间插入元素。可以使用下面三种方式来使用这个函数。
1.删除
需要给splice()传入两个参数:要删除的元素的第一个位置和要删除的元素数量。可以从数组中删除任意多个元素。
splice(0, 2) //就会删除前两个元素
2.插入
需要给splice()传入三个参数:要插入的位置、0(删除的元素数量)和要插入的元素。可以在数组中指定插入位置,第三个参数后面还可以传第四个、第五个参数,乃至任意多个要插入的元素。比如:
splice(2, 0, "red", "green") //会从数组位置2开始插入字符串"red:和“green"
3.替换
在删除元素的同时,可以在指定位置插入新元素。传入三个参数:开始位置、要删除元素的数量和要插入的任意多个元素。要插入的元素数量和删除的元素数量可以不一致。比如:
splice(2, 1, "red", "green") //会在位置2删除一个元素,然后从该位置开始向数组中插入字符串"red:和“green"
总结:splice()始终返回这样一个数组,它包含从数组中被删除的元素(如果没有删除,则返回空数组)。splice()会在改变元素组。
搜索数组的方法
1 严格相等法
- indexOf():从数组前头开始向后搜索,返回要查找元素在数组中的位置。
- lastIndexOf():从数组末尾开始向前搜索,返回要查找元素在数组中的位置。
- includes():从数组前头开始向后搜索,返回布尔值,表示至少找到一个与指定元素匹配的项。
这三个方法都接收两个参数:要查找的元素和一个可选的起始搜索位置。并且这三个方法在比较第一个参数个数组的每一项时,都会使用全等(===)的方式。即:两项必须严格相等。
2断言函数
javascript也可以按照定义的断言函数来搜索数组,每个索引都会调用这个函数。
断言函数接收三个参数:元素、索引和数组本身。(元素就是数组中当前搜索的元素、索引就是当前元素的索引、数组就是当前正在搜索的数组)断言函数返回真值,表示是否匹配。
find()和findIndex()方法使用了断言函数。这两个方法都是从数组的最小索引开始。
- find():返回第一个匹配的元素
- findIndex():返回第一个匹配的元素的索引。
例子:
const people = {
{
name:"Matt",
age:27
},
{
name:"three",
age:"23"
}
];
alert(people.find(element, index, array) => element > 25)); //返回{name:"Matt", age:27
alert(people.fineIndex(element,index, array) => element > 25)); //返回0
这两个方法可选的接受第二个参数,用于指定断言函数内部的this值。找到匹配项以后,这两个方法都不再继续搜索。