javascript result.sort不是函数

k3bvogb1  于 2023-01-24  发布在  Java
关注(0)|答案(1)|浏览(156)

当我试图运行我的Angular 组件的单元测试时,控制台显示了这个消息,这是在应该创建组件的时候发生的。

result.sort is not a function

控制台中的消息

ResultComponent › should create                                                                                                                                                                 
                                                                                                                                                                                                         
    TypeError: result.sort is not a function

      45 |   sortResult(result: any[]) {
      46 |     console.log(result)
    > 47 |     let sortedResult = result.sort((a, b) =>
         |                               ^
      48 |       a.name.localeCompare(b.name)
      49 |     );
      50 |     return sortedResult;

结果组件代码如下:

sortResult(result: any[]) {
    console.log(result)
    let sortedResult = result.sort((a, b) =>
      a.name.localeCompare(b.name)
    );
    return sortedResult;
  }

我试着寻找这个问题的解决方案,但是每个答案都指向没有转换成数组的对象。我不知道这是否是同一个问题。

oxiaedzo

oxiaedzo1#

有一种可能是你传入了数组以外的东西,很可能是一个对象。你检查过它是否真的是一个数组吗?

console.log(Array.isArray(result));

如果它不是数组,您可以尝试使用.from()方法转换它
希望这能帮上忙

相关问题