关于#slice#的问题,如何解决?

这样使用slice进行截取后,后面的数据为什么丢失了,而不是输出原来的数组

img

代码中使用了 slice() 方法对数组进行截取,这个方法会返回一个新的数组,包含截取后的元素。因此,this.topic[1] 数组中的元素被截取了,而不是丢失了。如果保留截取前的数组,可以将截取后的数组复制到一个新的变量中,例如:

const slicedArray = this.newpage[1].slice(0, this.pagination.size);
this.topic[1] = slicedArray;
// 现在,slicedArray 和 this.topic[1] 都包含截取后的元素,而原始的 this.newpage[1] 数组保持不变


不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/1010098
  • 除此之外, 这篇博客: 原来go语言slice切片底层原理这么简单中的 slice是什么 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    在go语言中,如果想要使用一个连续的内存空间,你可以使用数组,但是数组是固定长度的,无法做到动态扩容。因此切片slice就出现了,你可以先给切片设置一个初始容量,然后往里面添加元素,当切片容量不足时会自动扩容,来装载加入的元素;


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^