slice()
- slice()返回一个浅拷贝原数组的部分数组
- 原数组不会被改变
- 从start index 到 end index(end index那个元素不包括在内)
slice(start index, end index)
例子
案例一
let days = ['Monday', 'Tuesday','Wednesday','Friday']
let result = days.slice(2) //['Wednesday','Friday']
//此处只有start index, 没有end index, 因此从index2开始取到最末位
console.log(days)//['Monday', 'Tuesday','Wednesday','Friday']
//原始数组仍然未改变
案例二
let days = ['Monday', 'Tuesday','Wednesday','Friday']
let result = days.slice(1,3)//[ 'Tuesday','Wednesday']
//此处从返回值只有2个,index 1 和index 2, index 3不包括在内
splice()
- 可以对原数组进行删除,增加元素
- 原数组被改变了
- splice()不管增删元素, 返回值是被删除值的array(如果没有删除元素,会返回空数组)
splice(index, num, new element)
index - 指定元素的开始位置
num - 删除元素的个数
value - 新增元素
例子
案例一
let days = ['Monday', 'Tuesday','Wednesday','Friday']
let result = days.splice(2,0,'Thursday') // 返回[]
//从index 2开始, 不删除任何元素, 在2之后插入'Thursday' .
console.log(days)
//原数组改变了['Monday', 'Tuesday','Wednesday','Thursday','Friday']
案例二
let days = ['Monday', 'Tuesday','Wednesday','Friday']
let result = days.splice(3,1,'Sunday') //result返回值为 ['Friday']
//删除index 3 并在此处插入‘Sunday'
console.log(days)
//原数组的值改变了['Monday', 'Tuesday','Wednesday','Sunday']