12下一页
返回列表 发布新帖

[教程] Javascript 教学2 - 写源的小技巧 - slice

217 12
发表于 2025-2-9 13:49:10 来自手机 | 查看全部 阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
Javascript 教学2 - 写源的小技巧 - slice (小猫咪教学2)

上一次的教学我们已经学会了split 和怎样用`和${代码}拼链接,这一次的教学会怎么去用slice,再来拼新的链接

现在我们拿另外一个例子来做示范

搜索出来的章节地址是
https://www.xiaoshuo.com.tw/577845/

然后,这个搜索结果是没有封面的数据,但其实在在书籍简介是有封面的.你可以开来看看图片的URL是什么

图片URL
https://www.xiaoshuo.com.tw/files/article/image/577/577845/577845s.jpg

在这两个URL,各位看到了什么?
577 , 577845 和 577845s.jpg

在这里我们发现到这三个数字是有关联的 .我们也可以推断577是从577845变出来的

************
Slice (切片)
-----------
Slice的意思就是把一样东西给切片,就好像一粒苹果切片那样.

同样的,跟第一期的教学一样,我们可以用split 来取出577845出来,然后我们可以用slice 来把这577845来切片(拆开)

        5     7     7     8    4    5
        0     1     2     3    4    5   ( 顺序)
       -6   -5  -4   -3   -2   -1     (逆序)

可以看到我列出来的号码么? 我们slice 是要这么看数字

我们就拿577845来名为id,
Slice的写法是
let id = '577845';
let bid = id.slice (0,3)
Console.log (bid)

log 出来的答案就会是577. 为什么是577呢?
有看到我写(0,3)吗? 这个就是扮演很重要的角色.

在这里0就代表你要从那个开始显示,刚才我列出来的,我们是要5开始显示,所以就写0
3就是你要从那个开始不要显示,我们只要577,然后8是排第三个,所以你可以写3那577后面的数字就不会显示.

我们slice了以后,就像上一次一样要把全部合拼成一个新的链接

---------
我们再次看回去我们弄的图片URL

https://www.xiaoshuo.com.tw/files/article/image/577/577845/577845s.jpg

我们就开始可以用Js来合并成这个URL

@js:
let id = result.split('/')[3]
let bid = id.slice(0, 3);
result = `https://www.xiaoshuo.com.tw/files/article/image/${bid}/${id}/${id}s.jpg`

如果测了以后显示你要的URL,恭喜你你已经上完了拼链接的教学.

在此特别感谢Flzg佬,我的JS的技巧是他用心指导我的.希望各位看了这两篇文章后,可以自己写出拼链接的js.

Rosia P'ng(来自马来西亚的小猫咪)上

评分

参与人数 1源币 +20 贡献 +8 收起 理由
shusan + 20 + 8 源社区,有您更精彩!

查看全部评分

IOS 书友们可以在WE造猫关注我
WEID:rosiapng
可以得到我最新写的书源

评论12

putpotatoLv.4 发表于 2025-2-9 13:54:36 来自手机 | 查看全部
请问我想把123和1234
变成六个数字的000123和001234
该怎么操作呢?
let num = 1234; let paddedNum = num.toString().padStart(6, '0'); 6是代表你要几个数字,'0'是前面的空他自动补上0, 你可以用Js app来测试一下  详情 回复
发表于 2025-2-9 14:35
id = "000000" + 1234 id.slice(-6)  详情 回复
发表于 2025-2-9 14:16
回复

使用道具 举报

晚安丶星期五 发表于 2025-2-9 14:14:40 来自手机 | 查看全部
感谢分享
回复

使用道具 举报

fmnsppoLv.3 发表于 2025-2-9 14:16:30 来自手机 | 查看全部
putpotato 发表于 2025-2-9 13:54
请问我想把123和1234
变成六个数字的000123和001234
该怎么操作呢?

id = "000000" + 1234
id.slice(-6)
谢谢  详情 回复
发表于 2025-2-9 23:20
回复

使用道具 举报

水镜绘纱楼主Lv.13 发表于 2025-2-9 14:35:57 来自手机 | 查看全部
putpotato 发表于 2025-2-9 13:54
请问我想把123和1234
变成六个数字的000123和001234
该怎么操作呢?

let num = 1234;
let paddedNum = num.toString().padStart(6, '0');

6是代表你要几个数字,'0'是前面的空他自动补上0, 你可以用Js app来测试一下
谢谢  详情 回复
发表于 2025-2-9 23:20
回复

使用道具 举报

唯有一书Lv.3 发表于 2025-2-9 21:32:12 来自手机 | 查看全部
感谢分享
回复

使用道具 举报

putpotatoLv.4 发表于 2025-2-9 23:20:36 来自手机 | 查看全部
fmnsppo 发表于 2025-2-9 14:16
id = "000000" + 1234
id.slice(-6)

谢谢
回复

使用道具 举报

putpotatoLv.4 发表于 2025-2-9 23:20:43 来自手机 | 查看全部
yuri1291 发表于 2025-2-9 14:35
let num = 1234;
let paddedNum = num.toString().padStart(6, '0');

谢谢
回复

使用道具 举报

等等Lv.9 发表于 2025-2-10 13:59:17 | 查看全部
所以简单来说slice的括号(0,3)实际上是序列区间[0,3)的意思
回复

使用道具 举报

plmoknibLv.3 发表于 2025-2-17 17:00:43 来自手机 | 查看全部
可以的
回复

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

投诉/建议联系

ysqbbs@outlook.com

未经授权禁止转载,复制和建立镜像,
如有违反,追究法律责任
  • 关注公众号
  • 添加QQ群
Copyright © 2001-2025 源社区 版权所有 All Rights Reserved.
关灯 在本版发帖
扫一扫添加QQ群
返回顶部
快速回复 返回顶部 返回列表