最好用的深层取值赋值库,支持 Object、Array 和 Map。
Engilsh | 简体中文
虽然深层取值我们可以使用ES新的?
语法,避免报错,如下所示:
const a = { b: { c: 1 } };
console.log(a?.b?.c); // 1
但对于深层赋值操作,我们就无能为力了,如下所示:
const a = {};
a?.b?.c = 1; // 报错
但是使用本库,我们可以轻松实现深层取值和赋值,如下所示:
import { get, set } from '@jsmini/anypath';
const a = {};
set(a, 'b.c', 1);
console.log(get(a, 'b.c')); // 1
支持 Object、Array 和 Map,如下所示:
import { set } from '@jsmini/anypath';
const a = {};
set(a, 'b:map.c[].0', 1);
单元测试保证支持如下环境:
IE | CH | FF | SF | OP | IOS | 安卓 | Node |
---|---|---|---|---|---|---|---|
6+ | 23+ | 4+ | 6+ | 10+ | 5+ | 2.3+ | 0.10+ |
.
├── demo 使用demo
├── dist 编译产出代码
├── doc 项目文档
├── src 源代码目录
├── test 单元测试
├── CHANGELOG.md 变更日志
└── TODO.md 计划功能
通过npm下载安装代码
$ npm install --save @jsmini/anypath
如果你是node环境
var name = require('@jsmini/anypath').name;
如果你是webpack等环境
import { name } from '@jsmini/anypath';
如果你是浏览器环境
<script src="node_modules/@jsmini/anypath/dist/index.aio.js"></script>
<script>
var name = jsmini_anypath.name;
</script>
首次运行需要先安装依赖
$ npm install
一键打包生成生产代码
$ npm run build
运行单元测试,浏览器环境需要手动测试,位于test/browser
$ npm test
修改package.json中的版本号,修改README.md中的版本号,修改CHANGELOG.md,然后发布新版
$ npm run release
将新版本发布到npm
$ npm publish
重命名项目名称,首次初始化项目时需要修改名字,或者后面项目要改名时使用,需要修改rename.js
中的fromName
和toName
,会自动重命名下面文件中的名字
- README.md 中的信息
- package.json 中的信息
- config/rollup.js 中的信息
- test/browser/index.html 中的仓库名称
$ npm run rename # 重命名命令