// let arr=[11,22,33,44,55]
// //shift的作用是删除并返回第一个元素
// function shift(val){
// let res=arr[0] 定义一个变量用来存储数组的第一个元素的值
// for(let i=0;i<arr.length;i++){ 再利用for循环将数组进行重新排序
// arr[i]=arr[i+1] 讲数组的后一个值赋给数组的前一个值
// }
// arr.length--
// return res
// }
// let str =shift()
// console.log(str);
// console.log(arr);
// let arr = [11, 22, 33, 44, 55]
// //reverse的作用是翻转数组,直接改变数组结构
// function reverse() {
// let len = arr.length 定义一个变量用来存储数组的长度
// for (let i = 0; i < len / 2; i++) { //利用循环 循环的次数为数组长度的一半
// if (arr[i] !== arr[len - 1 - i]) { //对数组的值进行判断
// let temp = arr[i] //当数组的下标与目标交换的下标不相等时则交换他们的下标
// arr[i] = arr[len - 1 - i] //定义一个变量用来存储在交换对应下标值,
// arr[len - 1 - i] = temp //例如:上述数组长度是5,当i=0的时候,将11赋给变量temp
// } //然后在将i的对应下标为数组长度减1再减去i的下标
// } //也就是当i=0是对应的下标为4,将下标为4的值赋给下标为0
// } //反之再将下标为4的值赋给0,也就是上方的变量temp的值
// let str = reverse() //依次进行循环,也就得到了循环的次数也就自需要数组长度的一半
// console.log(str);
// console.log(arr);
// let arr = [11, 22, 33, 44, 55]
// // console.log(arr.splice(1,2)); //start end 从数组下标start开始截取数组,截取的数组长度为end
// function splice(index, len) { //根据splice的定义首先需要给函数定义两个参数,开始下标和截取的长度
// let res = [] //定义一个空的字符串用来存储splice截取的数组
// for (let i = index; i < arr.length; i++) { //利用循环从参数的下标开始
// if (i < index + len) { //如果i的值小于数组的截取开始下标和数组的长度
// res.push(arr[i]) //则直接给res生成一个为i对应值,依次循环
// } //例如当index等于1也就是i的值为1,这样就会把数组下标为1的赋给res
// arr[i]=arr[i+len] //再把截取的对应长度的值返回给原先位置的i,也就是当len等于2的时候
// } //index等于1此时的arr[1]=arr[3],把arr[3]的值赋给了arr[1],res完成了截取,原先的数组的位置也会发生改变
// arr.length-=len //再用原先的数组长度减去截取的长度得到的也就是新的数组长度
// return res //再把截取的数组输入出来
// }
// console.log(splice(1,2));
// console.log(arr);
// let arr = [11, 22, 33, 44, 55]
//insertAt //在指定位置插入元素
// function insertAt(index, val) {
// //备份数组长度防止造成死循环
// let len = arr.length
// //从数组最后一个往后挪动,一直挪动到index的位置将val插入
// for (let i = arr.length - 1; i >= index; i--) { //利用循环从数组的最后一个元素开始往后挪动,到在要插入元素的位置停止,从后往前
// arr[i + 1] = arr[i] //在数组指定位置的前面一个位置的值赋给前面一个值
// }
// arr[index] = val //再把要插入的值赋给对应的数组位置
// }
// insertAt(1, 20)
// console.log(arr);
// function unshift(val) {
// insertAt(0, val)
// }
// unshift(30)
// let arr = [11, 22, 33, 44, 55]
// function concat(newarr) { //concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
// let res = [] //定义一个空数组用来存储一个新的数组
// for(let i=0;i<arr.length;i++){ //利用循环遍历数组中的每一个元素
// res.push(arr[i]) //再把数组中遍历的每一个元素赋给上方定义的空数组,这样上方的空数组就会保存一个新的数组
// } //不会改变原数组
// for(let i=0;i<newarr.length;i++){ //再次利用循环遍历新插入的数组每一个元素
// res.push(newarr[i]) //给新添加的数组添加到变量res,形成一个新的数组
// }
// return res //结束本次函数输出res的值
// }
// console.log(concat([10,20,30]));
// let arr = [11, 22, 33, 44, 55]
//indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
// function indexof(val) { //定义一个函数名为indexof的函数 ,参数值为val
// let res = -1 //定义一个变量res的值为-1,用来返回这个数组没有出现的元素
// for (let i = 0; i < arr.length; i++) {//利用循环遍历每一个数组的元素
// if (arr[i] === val) { //如果一个数组的下标等于你要查找的一个元素
// res = i //则输出对应下标
// break;
// }
// }
// return res //结束本次函数,输出res的值
// }
// console.log(indexof(22)); //查找数组中是否有22这个元素