Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
Hello UTS
提交
3be5ba8b
H
Hello UTS
项目概览
DCloud
/
Hello UTS
通知
1657
Star
29
Fork
9
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
2
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
Hello UTS
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
2
Issue
2
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
3be5ba8b
编写于
12月 04, 2024
作者:
lizhongyi_
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
调整测试例
上级
329c93d8
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
39 addition
and
45 deletion
+39
-45
uni_modules/uts-tests/utssdk/iterator.uts
uni_modules/uts-tests/utssdk/iterator.uts
+39
-45
未找到文件。
uni_modules/uts-tests/utssdk/iterator.uts
浏览文件 @
3be5ba8b
...
...
@@ -12,7 +12,7 @@ import { describe, test, expect, Result } from './tests.uts'
// }
class TestChild implements UTSValueIterable<any | null> {
class TestChild implements UTS
KeyIterable, UTS
ValueIterable<any | null> {
a: string = ""
b: number = 1
c: boolean = false
...
...
@@ -41,29 +41,30 @@ class TestChild implements UTSValueIterable<any | null> {
}
}
class TestClass implements UTSValueIterable<any
| null
> {
class TestClass implements UTSValueIterable<any> {
holderArray: (any | null)[] = [null, null]
valueIterator(): UTSIterator<any
| null
> {
valueIterator(): UTSIterator<any> {
let holderIndex = 0;
let obj: UTSIterator<any | null> = {
next:() : UTSIteratorResult<any | null> => {
let currentVal = this.holderArray[holderIndex++]
while(currentVal == null){
if(holderIndex == this.holderArray.length){
break;
}
currentVal = this.holderArray[holderIndex++]
}
const done = holderIndex == this.holderArray.length
return {
done: done,
value: done ? null : currentVal,
} as UTSIteratorResult<any | null>
let arr = this.holderArray.filter((value) => {
return value != null
})
let obj: UTSIterator<any> = {
next:() : UTSIteratorResult<any> => {
if (arr.length == 0) {
return {
done: true,
value: null,
} as UTSIteratorResult<any>
}else {
const done = holderIndex == arr.length
return {
done,
value: done ? null : arr[holderIndex++],
} as UTSIteratorResult<any>
}
}
}
return obj
...
...
@@ -73,28 +74,24 @@ class TestChild implements UTSValueIterable<any | null> {
class TestClass2 implements UTSValueIterable<any
| null
> {
class TestClass2 implements UTSValueIterable<any> {
holderArray: (any | null)[] = [11, 22, null, 33, 44, null]
valueIterator(): UTSIterator<any
| null
> {
valueIterator(): UTSIterator<any> {
let holderIndex = 0;
let obj: UTSIterator<any | null> = {
next: () : UTSIteratorResult<any | null> => {
let currentVal = this.holderArray[holderIndex++]
while(currentVal == null ){
if(holderIndex == this.holderArray.length){
break;
}
currentVal = this.holderArray[holderIndex++]
}
const done = holderIndex == this.holderArray.length
let arr = this.holderArray.filter((value) => {
return value != null
})
let obj: UTSIterator<any> = {
next: () : UTSIteratorResult<any> => {
const done = holderIndex == arr.length
return {
done,
value: done ? null :
currentVal
,
} as UTSIteratorResult<any
| null
>
value: done ? null :
arr[holderIndex++]
,
} as UTSIteratorResult<any>
}
}
return obj
...
...
@@ -131,17 +128,14 @@ class TestChild implements UTSValueIterable<any | null> {
export function testIterator(): Result {
return describe("Iterator", () => {
test('for...in', () => {
//
let test = new TestChild()
//
let result: string[] = []
//
for (item in test) {
//
result.add(item)
//
}
//
expect(result).toEqual(["a", "b", "c"])
let test = new TestChild()
let result: string[] = []
for (item in test) {
result.add(item)
}
expect(result).toEqual(["a", "b", "c"])
})
test('for...of', () => {
// test Array
let arr = ["a", "b", "c", "d"]
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录