@oopsunome/remap-indexed-keys-after-omit

    1.0.3 • Public • Published

    Codacy Badge Build Status Coverage Status dependencies Status

    @oopsunome/remap-indexed-keys-after-omit

    针对键为 index-xx-index-y 类似模式的被索引对象,如:

    {
      '0-0': 'one',
      '1-0': 'two',
      '2-0': 'three',
    }

    可在移除某个键值对后,顺序重新索引所有键。

    @oopsunome/remap-indexed-keys-after-omit 支持在浏览器以及 Node.js 环境下使用。Node.js 方面,持续且仅支持最新 LTS 版本的。

    目录

    安装

    # 使用 NPM 
    $ npm i @oopsunome/remap-indexed-keys-after-omit lodash
     
    # 使用 Yarn 
    $ yarn add @oopsunome/remap-indexed-keys-after-omit lodash
     
    # 使用 PNPM 
    $ pnpm install @oopsunome/remap-indexed-keys-after-omit lodash

    使用

    remapIndexedKeysAfterOmitSync(options)

    • options {Object}
      • object {Object} 从小到大索引的对象
      • omitIndex {Number} 待删除键值对的索引
      • keyPattern {String} 对象的键模式
      • separator {String} 分裂键的分隔符
      • indexPlaceholderInKeyPattern {String} 指定索引占位
      • gap {Number} 递减 / 递增幅度
    • 返回: {Object} 被顺序重新索引所有键的对象
    import { remapIndexedKeysAfterOmitSync } from '@oopsunome/remap-indexed-keys-after-omit';
     
    (function() {
      const rslt = remapIndexedKeysAfterOmitSync({
        object: {
          '0-0': 254,
          '1-0': 7892,
          '2-0': 67568,
          '3-0': 23,
          '4-0': 657,
          '5-0': 3245,
          '6-0': 789,
          '7-0': 234,
          '8-0': 456,
          '9-0': 675,
          '10-0': 596,
        },
        omitIndex: 9,
        keyPattern: 'index-x',
        separator: '-',
        indexPlaceholderInKeyPattern: 'index',
        gap: 1,
      });
     
      console.table(rslt);
     
      /**
       * 输出:
       * 
       * {
       *   '0-0': 254,
       *   '1-0': 7892,
       *   '2-0': 67568,
       *   '3-0': 23,
       *   '4-0': 657,
       *   '5-0': 3245,
       *   '6-0': 789,
       *   '7-0': 234,
       *   '8-0': 456,
       *   '9-0': 596,
       * }
       */
    })();

    remapIndexedKeysAfterOmit(options)

    • options {Object}
      • object {Object} 从小到大索引的对象
      • omitIndex {Number} 待删除键值对的索引
      • keyPattern {String} 对象的键模式
      • separator {String} 分裂键的分隔符
      • indexPlaceholderInKeyPattern {String} 指定索引占位
      • gap {Number} 递减 / 递增幅度
    • 返回: {Promise} 被顺序重新索引所有键的对象
    import { remapIndexedKeysAfterOmit } from '@oopsunome/remap-indexed-keys-after-omit';
     
    (async () => {
      console.table(await remapIndexedKeysAfterOmit({
        object: {
          '0-0': 254,
          '1-0': 7892,
          '2-0': 67568,
          '3-0': 23,
          '4-0': 657,
          '5-0': 3245,
          '6-0': 789,
          '7-0': 234,
          '8-0': 456,
          '9-0': 675,
          '10-0': 596,
        },
        omitIndex: 9,
        keyPattern: 'index-x',
        separator: '-',
        indexPlaceholderInKeyPattern: 'index',
        gap: 1,
      }));
     
      /**
       * 输出:
       * 
       * {
       *   '0-0': 254,
       *   '1-0': 7892,
       *   '2-0': 67568,
       *   '3-0': 23,
       *   '4-0': 657,
       *   '5-0': 3245,
       *   '6-0': 789,
       *   '7-0': 234,
       *   '8-0': 456,
       *   '9-0': 596,
       * }
       */
    })();

    参与开发

    准备开发环境

    详细参见 SETUP.md

    安装依赖

    @oopsunome/remap-indexed-keys-after-omit 使用 Yarn 包管理器,执行 yarn install 安装依赖。

    开始开发

    yarn start

    生产构建

    yarn build

    测试

    yarn test

    贡献指南

    仔细查阅 CONTRIBUTING.md 以了解详情。

    证书

    [@oopsunome/manual-sort][@oopsunome/manual-sort] 获得了 MIT 许可,仔细查阅 LICENSE.md 以了解详情。

    待办

    • 支持操作 从大到小索引 的对象;
    • 为所有的配置提供默认值;
    • 支持 解构直接引用 2 种暴露接口的方式;
    • 提供同步、异步 2 种编程方式,异步编程采用 Promise
    • 支持构建 CommonJS, AMD, ESM, UMD 模式的模块;
    • 不将 lodash 等库打包;
    • 功能测试;
    • 捆绑 Git 倒钩
    • ESlint 检测;
    • 自动化生成所有依赖的开源证书;
    • 使用 David DM 实现 依赖是否最新 检测;
    • 使用 Travis CI 实现持续集成;
    • 使用 Coveralls 可视化测试用例覆盖率;
    • 使用 Codacy 实现代码质量检测;
    • 更新日志;
    • 自动化发布;
    • 在什么场景下使用 @oopsunome/remap-indexed-keys-after-omit?
    • 编写 开发环境指南
    • 文档:在哪里可以获得更多帮助?
    • 文档:设计思想;
    • 文档:维护策略;
    • 文档:编码风格指南
    • 编写 发布流程指南
    • 编写 Git 指南
    • 编写 命名指南
    • 编写 版本指南
    • 性能测试;

    Install

    npm i @oopsunome/remap-indexed-keys-after-omit

    DownloadsWeekly Downloads

    1

    Version

    1.0.3

    License

    MIT

    Unpacked Size

    34.8 kB

    Total Files

    11

    Last publish

    Collaborators

    • itonyyo