1.1.2 • Published 4 years ago

ojbk v1.1.2

Weekly downloads
2
License
MIT
Repository
-
Last release
4 years ago

更新日志

1.1.2
1. 修复底层结果为0、''、undefined 时的异常结果返回 2. 修复整串索引位置错误后,返回部分取值结果,修复为返回null

为什么要写 ojbk

当查询一条 APi, 或进行一次数据库查询的时候会出现一些要获取的数据层级很深 且 非固定出现的场景。如

// 请求结果
var data = {
  code: 0,
  data: {
    _id: 1,
    name: '张三',
    org: {
      _id: 2,
      name: 'XXX省XX公司'
    }
  }
}

其中 org 为单位信息,当用户未绑定单位信息时会反馈如下数据:

var data = {
  code: 0,
  data: {
    _id: 1,
    name: '张三'
  }
}

如果前端直接通过data.data.org.name获取单位名称时就会存在隐患。即:org不存在时会报错。通常的处理方式是不断的加前置判断,现在通过ojbk来实现前置判断处理。

如何使用

1. 下载

目前只能通过 npm/Yarn 下载

目前支持 AMD/CMD/CommonJs , cdn 以后再说。

  npm install ojbk --save
  yarn add ojbk # 推荐

2.1 纯函数使用

import ojbk from 'ojbk';

const a = {
  b: {
    c: {
      d: 1
    },
    e: [
      2,
      3,
      5,
      {
        f: {
          g: 1
        }
      }
    ]
  }
}

ojbk(a, 'b.e.3.f.g') // => 1
ojbk(a, 'b.e.3.f') // => { g: 1 }
ojbk(a, 'b.f') // => null

2.2 Object 原型函数扩展

import 'ojbk/polyfill'; // 此时将 ojbk函数扩展至 Object 原型

const a = {
  b: {
    c: {
      d: 1
    },
    e: [
      2,
      3,
      5,
      {
        f: {
          g: 1
        }
      }
    ]
  }
}

a.ojbk('b.e.3.f.g') // => 1
a.ojbk('b.e.3.f') // => { g: 1 }
a.ojbk('b.f') // => null

为什么叫 ojbk ?

ojbk在此处有两重含义

  1. 2017 年网络流行用语,意为 完全Ok可行;
  2. 原本是想命名 objk,意为 object key,写出来发现被中文输入法纠偏为了 ojbk 那就这样吧。
1.1.2

4 years ago

1.1.1

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago

0.0.1

6 years ago