前言
chai-sorted 是一个可以让你在测试时很方便地测试数组是否已经排好序的 npm 包。对于前端工程师来说,JavaScript 数组的排序很常见,使用 chai-sorted 可以更加方便地测试排序是否正确。本文将会为大家介绍如何使用该包。
安装和使用
- 安装
npm i chai-sorted --save-dev
- 引入和使用
-- -------------------- ---- ------- ----- ---- - ---------------- ----- ---------- - ----------------------- --------------------- ---------- ---- --- ----- ----------- -- -- - ----- ------ - --- -- -- --- ----- -------- - --- -- -- --- -------------------------- -- -- ---------- - ------ -- ------------------------------------- -- -------- -------------------------------------- -- -------- --------------------------- -- -- - - --- -- --------------- ---
深入学习
chai-sorted 提供一个 sorted 方法,这是如何实现的呢?我们来看一下源码:
-- -------------------- ---- ------- -------- ----------- -- - ------ ------ - --- -------- -- ------ - --- -------- - - - - - ----------------------------------- - --- - ----- -- --- ----- -- ------- - - ------ ------------------ ------- - -------- --------- - ---- ------ -- -------- ------------- - ----- - ------------------ ----- --- - --------------------- -- --------------------- - ----- --- --------------- ------- -- -- -- -------- - ----- ------ - ---------------------- --- ------------ - --- -- -- ----------- -- - -------------------- ---------------------------------- --------- ------- -- -- --------- ------ ----- -
从源码可以看出,chai-sorted 通过 sorted 函数来实现数组排序的检测。在 sorted 函数中,首先解析 order,用的是 parseOrder 函数。parseOrder 函数里是一个 switch,根据传进来的值,映射出 descending 或 ascending 或 undefined,这个值默认是 undefined。sorted 函数中,将对象转换成数组,判断它是不是一个数组,如果不是,则抛出异常。然后将该数组利用 slice 方法生成一个新数组,再利用该数组的 sort 方法进行排序,方法里传的比较函数根据 order 的值而不同,最后将它们都转换成字符串,进行检测。
指导意义
chai-sorted 是一个可以让测试排序的过程更加方便的 npm 包,使用它可以很方便地测试排序是否正确。chai-sorted 的源码也不算太复杂,你可以通过学习其源码来对比了解其他 npm 包的实现方式。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/91157