前端链表运用场景
const arr = [1, 2, 3, 4, 5] arr.unshift(0)
比如像上面那两行代码, 大家都知道数组是有下标的。 如果往输入前面插入一个元素,那么后面的所有元素下标整体都是会往后移动的。 这个数组的下标移动,一旦数据量过多的话,就会造成很严重的性能损耗。 例如: 物联网项目,一个设备的模板,数据量大的可能有几千个参数。 如果把第一个删除删除了,后面恐怖的数据量的下标前移,会给页面造成大概一秒钟的卡顿感。 再比如一些滑动加载的页面,那个页面还具有,自己的文章能右滑删除的功能。 如果存放文章的数据到达了一定数量,用户再删除文章,如果我们重新请求接口,加载列表。 这样显然,用户的体验是更不好的。一般在接口请求删除成功后,对本地的那个文章在进行删除。 但是,显然有时候也会造成不好的体验。 这个时候链表这种数据结构, 再配合上es6的迭代器就很合适了。 代码见以下链接