针对键为 index-x
或 x-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
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,
* }
*/
})();
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 指南;
- 编写 命名指南;
- 编写 版本指南;
- 性能测试;