HarmonyOS 鸿蒙Next:Array 的 indexOf 获取 所在位置 出错

发布于 1周前 作者 phonegap100 来自 鸿蒙OS

HarmonyOS 鸿蒙Next:Array 的 indexOf 获取 所在位置 出错

有一个 MPArticleSection类型的Array。MPArticleSection类是被@Observed 装饰的。这个时候对 其中一个元素 使用 indexOf方法获取下标的时候,返回-1,为什么

2 回复
本地尝试indexOf确实会出现-1的情况,

可以使用findIndex规避此问题

let array = new collections.Array<string>('a', 'b', 'c');

let index = array.indexOf('b');

=>

let array = new collections.Array<string>('a', 'b', 'c');

let foundIndex = array.findIndex((value: string) => value === 'b');

在HarmonyOS鸿蒙Next系统中,如果你遇到使用ArrayindexOf方法获取元素所在位置时出错的问题,这通常是由于以下几个常见原因造成的:

  1. 数组元素类型不匹配:确保你查找的元素与数组中的元素类型一致。例如,如果你在整数数组中查找一个字符串,indexOf将返回-1,表示未找到。

  2. 元素值问题:检查你查找的元素值是否确实存在于数组中,并且没有因为数据类型转换或精度问题而导致不匹配。

  3. 数组初始化或修改:确认在调用indexOf之前,数组已经被正确初始化且元素未被意外修改或删除。

  4. 自定义对象比较:如果数组包含自定义对象,indexOf默认使用严格相等(===)进行比较。如果需要基于对象属性的查找,你可能需要自定义查找逻辑。

  5. API使用错误:确保你使用的indexOf方法是来自JavaScript标准库的,而不是某个特定库或框架的变种,这可能会影响其行为。

如果以上检查均无误,但问题依旧存在,可能是系统或框架的特定bug。此时,建议查阅最新的HarmonyOS开发文档或更新日志,看是否有相关问题的修复。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。

回到顶部