使用js获取数组中的元素
面试官提问:现在有一个包含10个元素的数组,你有什么方法能够取出其中的第二个和第三个元素吗
1、slice函数
Array.slice()
,接收两个参数,起始位置(包含起始元素),结束位置,返回一个新数组
const arr=[1,2,3,4,5,6,7,8,9,10]
const arr2=arr.slice(1,3)
console.log(arr2);
slice(1,3),从下标1的元素开始截取(包含该元素),截取到下标为3的元素(不包含该元素)
输出:[2, 3]
如果传入的参数为负数,截取是从后面开始的
const arr=[1,2,3,4,5,6,7,8,9,10]
const arr2=arr.slice(-3,-1)
console.log(arr2);
输出:[8,9]
slice(-3,-1),从倒数第三个(包含该元素)开始截取,截取到倒数第一个(不包含该元素)
2、splice函数
该函数操作原数组,可以执行数组的删除和插入,返回一个新数组
用作删除的时候,接收两个参数:起始下标,删除的个数;函数返回删除的元素数组
用作插入的时候,接收两个以上参数:起始下标,删除的个数,插入的元素;函数返回删除的元素数组,插入的元素会在删除的元素的位置开始插入
const arr=[1,2,3,4,5,6,7,8,9,10]
const arr2=arr.splice(1,2)
console.log(arr2);
输出:[2,3]
splice(1,2),从下标1开始,删除两个元素,返回以这两个元素作为元素的数组
执行之后,原数组被改变,变为[1, 4, 5, 6, 7, 8, 9, 10]
参数可以为负数,第一个参数为负数时,从数组后面开始删除,第二个参数依旧为删除的个数,如果第二个参数为负数,则第二个参数视为0
const arr=[1,2,3,4,5,6,7,8,9,10]
const arr2=arr.splice(-2,-100)
console.log(arr2);
输出:[]
splice(-2,100),从倒数第二个开始,删除0个元素