<script>
//1. splice(index,howmany,item1,item2,...)方法,该方法会改变原数组。该函数返回值为 删除的项目,没有删除的元素,则返回一个空数组
//- index 指定在什么位置添加或者删除项目,使用负值则从数组末尾开始的位置。
//- howmany 指定要删除的项目数,如果为0,则不会删除任何项目
//- item 要添加到数组的新项目
let arr = [1, 2, 3, 4, 5]
// arr.splice(0,2,6)
// console.log(arr) //6 3 4 5
// const x = arr.splice(0, 0, 6) //[]
// console.log(x)
// console.log(arr);
//2.slice(start,end) 该方法截取字符串,不会改变原元素,函数返回值为截取的字符串,左闭右开
// const newarr = arr.slice(0, 2) //[1,2]
//3.push() 方法向数组最后添加一个元素(也可同时添加多个),函数返回值为数组最新长度。会改变元素。
// const length = arr.push(7,7)
// console.log(length) //7
// console.log(arr)
//4.pop()方法删除数组最后一个元素,函数返回值为删除的元素。会改变原数组。
// const el = arr.pop()
// console.log(el) //5
// console.log(arr)
// 5.shift()方法转移数组首个元素,函数返回值为删除的元素,会改变原数组。
// const el = arr.shift();
// console.log(el)
// console.log(arr)
//6.unshift()方法向数组头添加元素,函数返回值为数组最新长度,会改变原数组 。
// const length = arr.unshift(-1,0);
// console.log(length) //7
// console.log(arr)
// 8.concat()方法,连接数组,返回新数组,不改变原数组。
// const newarr = arr.concat([-2, -2, -2])
// console.log(newarr)
// console.log(arr)
// 9.reverse()方法,反转数组,改变原数组。
// const newarr=arr.reverse()
// console.log(newarr)
// console.log(arr)
//10.join([separator])方法,以指定分隔符连接数组元素,返回字符串。不改变原数组。
// console.log(arr.join("-")); //1-2-3-4-5
// console.log(arr) //[1,2,3,4,5]
// 11.split("-")方法,将以指定分隔符的连接的字符串分割为字符串数组。不改变原字符串。
// const str = 'liu-jin-feng'
// console.log(str.split("-"));
// console.log(str)
// 12.filter()方法创建一个新的数组,新数组中的元素是通过检查指定数组中复合条件的所有元素。
// 注:filter()不会对空数组进行检测。不会改变原数组。
// const newArr = arr.filter((currentValue, index) => {
// return currentValue >= 2
// })
// console.log(newArr);
// 13.map()方法返回一个新数组,数组中的元素为原始数组调用函数处理后的值。map()按照原数组元素依次处理元素。
// 注意:map()不会对空数组进行检测。map不会改变原数组。
const newArr = arr.map((currentValue, index) => {
return currentValue * 2
})
console.log(newArr);
</script>