From 2009217a7fea256670e928346d62d41b80537b34 Mon Sep 17 00:00:00 2001 From: mahaifeng Date: Wed, 4 Sep 2024 13:09:25 +0800 Subject: [PATCH] =?UTF-8?q?[array]=E5=8E=BB=E9=99=A4=E6=89=8B=E5=8A=A8?= =?UTF-8?q?=E7=94=9F=E6=88=90=E7=9A=84=E4=BB=A3=E7=A0=81(=E5=8E=BB?= =?UTF-8?q?=E6=8E=89=E6=96=B9=E6=B3=95=E4=B8=8B=E9=9D=A2=E7=9A=84=E7=A4=BA?= =?UTF-8?q?=E4=BE=8B=E4=BB=A3=E7=A0=81)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/uts/buildin-object-api/array.md | 42 +++------------------------- 1 file changed, 4 insertions(+), 38 deletions(-) diff --git a/docs/uts/buildin-object-api/array.md b/docs/uts/buildin-object-api/array.md index 78756465..f8fcf211 100644 --- a/docs/uts/buildin-object-api/array.md +++ b/docs/uts/buildin-object-api/array.md @@ -214,18 +214,11 @@ let arr = new Array(10) 所以下面的代码在 部分平台可能不符合预期 -```ts -new Array(20).fill(0) -``` + 可以使用下面的代码替代 -```ts -let b = Array() -for(let i = 0; i < 20; i++){ - b.add(0) -} -``` + @@ -350,16 +343,7 @@ for(let i = 0; i < 20; i++){ **平台差异性** 在android平台,一定不能忽略两个对比元素相等的场景,否则可能会出现`java.lang.IllegalArgumentException: Comparison method violates its general contract!‌` -``` - -a.sort((a, b) : number => { - // 这里的判断不能省略 - if(a.compareTo(b) == 0){ - return 0 - } - return a - b -}) -``` + @@ -519,25 +503,7 @@ a.sort((a, b) : number => { > 特别注意: > 不可在 forEach 的 callbackFn 里添加或者删除原数组元素,此行为是危险的,在 Android 平台会造成闪退,在 iOS 平台会造成行为不符合预期。如果想实现该效果,请用 while 循环。 -```ts - -const array1 = ['a', 'b', 'c']; -array1.forEach(element => { - console.log(element) - array1.pop() // 此行为在 Android 平台会造成闪退,在 iOS 平台会输出 'a', 'b', 'c', 而 JS 会输出 'a', 'b' -}); - -// 如果想让上述行为正常运行,可以用 while 循环实现: - -let array1 = ['a', 'b', 'c']; -let index = 0; -while (index < array1.length) { - console.log(array1[index]); - array1.pop(); - index += 1; -} - -``` + -- GitLab