js中arr.slice截取数组中的一段元素,组成一个新数组返回
str.split('/');
以正斜杠“/”为分隔符;将原字符串分割成若干子串,并以数组形式返回。
怎么记忆呢?sp就是分割;lit就是列表的意思;分割成列表转换为数组
const str = 'home/user/docs/file.txt';
const arr = str.split('/');
console.log(arr);
// 输出: ['home', 'user', 'docs', 'file.txt']
arr.slice(开始包含,结束不包含)
从原数组中截取一段元素,组成一个新数组返回。
记忆:s是li数组ce扯,分割数组;返回一个新的数组
arr.slice() ---- 2个重要的点
1,不会改变原数组(immutable),这是它和 splice() 最本质的区别
2,浅拷贝(shallow copy):如果数组里存的是对象,拷贝的是对象的引用地址。
基本使用
const arr = ['a', 'b', 'c', 'd', 'e'];
// 从索引1开始,到索引4之前结束
const result = arr.slice(1, 4);
// 输出:['b', 'c', 'd']
console.log(result);
// 输出:['a', 'b', 'c', 'd', 'e'] (原数组没变)
console.log(arr);
负数索引
const arr = ['a', 'b', 'c', 'd', 'e'];
// 倒数第3个到倒数第1个之前
const result = arr.slice(-3, -1);
console.log(result); // 输出:['c', 'd']
只有一个参数(截取到末尾)
const arr = ['a', 'b', 'c', 'd', 'e'];
// 从索引2开始,一直截取到最后
const result = arr.slice(2);
// 输出:['c', 'd', 'e']
console.log(result);
arr.slice(-1)[0] 获取数组最后一个元素
记忆:s是li数组ce扯,分割数组;返回一个新的数组
arr[arr.length-1] 获取数组最后一个元素
arr.at(-1) 获取数组最后一个元素
slice 最常用的几个场景是:
1,分页数据:data.slice((page-1)size, pagesize) 截取当前页要显示的数据。
page = 1,2,3,4,
size = 10
// 第1次的时候:(0,10)
// 第2次的时候:(10,20)
// 第3次的时候:(20,30)
2,将类数组(如 arguments)转为真正的数组:Array.prototype.slice.call(arguments)。
slice是浅拷贝:数组里是数字/字符串修改值不影响
const arr = [1, 2, 3];
const copy = arr.slice();
copy[0] = 999; //
// 输出 [1, 2, 3] —— 原数组纹丝不动 ✅
console.log(arr);
// 输出 [999, 2, 3]
console.log(copy);
slice是浅拷贝:数组里存的是对象(引用类型)会影响
const arr = [
//这是一个对象(保险箱)
{ name: '小明', age: 18 },
{ name: '小红', age: 20 }
];
const copy = arr.slice(); // 复制新数组
// 注意:我只修改了“复制出来的新数组”里的第一个对象
copy[0].age = 99;
console.log("输出原数组:",arr[0]);
// 输出原数组:{ name: '小明', age: 99 }
// 原数组里的小明年龄也跟着变成 99 了!😱
遇见问题,这是你成长的机会,如果你能够解决,这就是收获。
作者:晚来南风晚相识
出处:https://www.cnblogs.com/IwishIcould/
本文版权归作者所有,欢迎转载,未经作者同意须保留此段声明,在文章页面明显位置给出原文连接
如果文中有什么错误,欢迎指出。以免更多的人被误导。
出处:https://www.cnblogs.com/IwishIcould/
想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,或者关注博主,在此感谢!
万水千山总是情,打赏5毛买辣条行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主(っ•̀ω•́)っ✎⁾⁾!
想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!
支付宝
微信
如果文中有什么错误,欢迎指出。以免更多的人被误导。

浙公网安备 33010602011771号