JS数组常用方法---9、slice方法
JS数组常用方法---9、slice方法
一、总结
一句话总结:
slice方法的作用是对数组进行切片,参数有两个可选的,一个是切片的起始位置,一个是切片的终止位置,都可以为负数,slice方法的返回值是得到的切片数组,不影响原数组
作用:对数组进行切片 参数:begin(起始索引,可负数)、end(终止索引,可负数),截取的数组包含起点不包含终点 返回值:得到的切片数组 是否影响原数组:不影响 let arr=[1,2,3,4,5,6]; let new_arr1=arr.slice(2,4); console.log(new_arr1);// [3, 4]
1、slice方法截取数组注意?
a、截取的数组包含起点,但是不包含终点
b、起点和终点后可以是负数,起点为负数表示从数组的倒数第几个开始截取,终点为负数表示从数组的倒数第几个停止截取
2、slice方法为什么可以做数组的深度克隆?
因为slice方法返回截取后的数组,并且不影响原数组
3、slice方法做深度拷贝的不足之处是什么?
当数组内部的值是引用类型例如Array、Object时,还是浅拷贝
二、slice方法
博客对应课程的视频位置:
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>slice方法</title> 6 </head> 7 <body> 8 <!-- 9 10 slice方法 11 作用:对数组进行切片 12 参数:begin(起始索引,可负数)、end(终止索引,可负数),截取的数组包含起点不包含终点 13 返回值:得到的切片数组 14 是否影响原数组:不影响 15 16 slice方法截取数组注意 17 a、截取的数组包含起点,但是不包含终点 18 b、起点和终点后可以是负数,起点为负数表示从数组的倒数第几个开始截取,终点为负数表示从数组的倒数第几个停止截取 19 20 slice方法为什么可以做数组的深度克隆 21 因为slice方法返回截取后的数组,并且不影响原数组 22 23 slice方法做深度拷贝的不足之处是什么 24 当数组内部的值是引用类型例如Array、Object时,还是浅拷贝 25 26 --> 27 <script> 28 //1、slice切割数组 29 // let arr=[1,2,3,4,5,6]; 30 // let new_arr1=arr.slice(2,4); 31 // console.log(new_arr1);// [3, 4] 32 // 33 // //只指定起点 34 // let new_arr2=arr.slice(2); 35 // console.log(new_arr2);// [3, 4, 5, 6] 36 // 37 // //起点为负数,则表示从原数组中的倒数第几个元素开始提取 38 // let new_arr3=arr.slice(-1); 39 // console.log(new_arr3);// [6] 40 // let new_arr4=arr.slice(-3); 41 // console.log(new_arr4);// [4, 5, 6] 42 // 43 // //终点为负数,则它表示在原数组中的倒数第几个元素结束抽取 44 // let new_arr5=arr.slice(1,-1); 45 // console.log(new_arr5);// [2, 3, 4, 5] 46 // 47 // 48 // //起点和终点都是负数 49 // let new_arr6=arr.slice(-3,-1); 50 // console.log(new_arr6);// [4, 5] 51 52 //2、slice方法做数组的深度克隆 53 // let arr1=[1,2,3]; 54 // let arr2=arr1.slice();//深拷贝 55 // arr2.unshift(4,5,6); 56 // console.log(arr2); 57 // console.log(arr1); 58 59 60 //slice做深度拷贝的不足 61 //当数组内部的值是引用类型例如Array、Object时,还是浅拷贝 62 // let arr1=[1,2,3,{name:'悟空',age:13}]; 63 // let arr2=arr1.slice();//深拷贝 64 // arr2.push(4,5,6); 65 // console.log(arr2); 66 // console.log(arr1); 67 // 68 // arr2[3]['name']='悟净'; 69 // console.log(arr2); 70 // console.log(arr1); 71 72 </script> 73 </body> 74 </html>
版权申明:欢迎转载,但请注明出处
一些博文中有一些参考内容因时间久远找不到来源了没有注明,如果侵权请联系我删除。
在校每年国奖、每年专业第一,加拿大留学,先后工作于华东师范大学和香港教育大学。
2024-10-30:27岁,宅加太忙,特此在网上找女朋友,坐标上海,非诚勿扰,vx:fan404006308
AI交流资料群:753014672