大茂名网

 找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 149|回复: 0

谈一谈:解析arrify 转数组现示例源码 2023/1/31 17:39:05

[复制链接]

1万

主题

1万

帖子

6万

积分

钻石元老

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

积分
62908
发表于 2023-1-31 17:39 | 显示全部楼层 |阅读模式

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

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

x
学习目标Linux技术教程的相关资讯可以到我们网站了解一下,从专业角度出发为您解答相关问题,给您优质的服务!
分析 函数的源码 通过测试用例调试源码 学习 S 的使用场景 其它的可迭代对象 拉取源码 进入到 仓库下,使用 CS 克隆一份项目。 项目目录如图: 忽略掉一些配置文件,各个文件的功能如下: 是整个项目的入口,负责对外导出函数 是函数的TS类型描述文件 是测试用例 分析源码 函数可以接受一个值,并返回一个包含该值的数组,根据传入不同类型的值返回不同的结果。 () { 如果传入的值是 或 ,函数会返回一个空数组。 ( === || === ) { []; } 如果传入的值本身就是一个数组,函数会直接返回这个数组 (AA()) { ; } 如果传入的值是一个字符串,函数会返回一个包含该字符串的数组。 ( === '') { []; } 如果传入的值是一个可迭代对象,函数会返回一个包含该对象所有元素的数组。 ( [S] === '') { []; } 如果传入的值既不是 ,也不是一个数组字符串可迭代对象,函数会返回一个包含该值的数组。 []; } S 的使用场景 S 是 JS 中的一个内置 S,它用于定义一个对象的默认迭代器。当一个对象被用于 循环或者解构赋值时,会自动调用它的 S 方法。 举个例子,假设你有一个数组,你可以使用 S 方法来定义如何遍历这个数组: = [1, 2, 3]; [S] = () { = 0; { : () { { : [] + 1, : ++ === }; } }; }; ( ) { (); } 上面的代码定义了一个数组 ,并为它定义了一个 S 方法,这个方法返回一个迭代器对象,这个对象的 方法返回数组的下一个元素。然后我们使用 循环来遍历这个数组,循环会自动调用 的 S 方法来获取每个元素+1后的值。 上面代码执行的执行结果: 可见我们更改了 的默认迭代器。 具有默认的迭代器函数的对象 这些对象能够被 循环遍历 数组 字符串 M(M) S(S) 总之,一个数据结构如果具有S属性,这个对象就可以被遍历它的成员。我们理解的原理可以更好使用提供的数据结构,必要时还可以改造不可迭代的数据结构。
爱上大茂名,喜当大猫友,吃喝玩乐事,天天乐开怀!
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

QQ|客服:0668-2886677QQ:75281068|大茂微博|小黑屋|手机版|Archiver|大茂名网 ( 粤ICP备18149867号 )茂名市大茂科技有限公司 版权所有 

GMT+8, 2025-3-11 04:28 , Processed in 0.087378 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表