sf-utils2 sf-utils2
版本v3.3.3-beta1
首页
  • 01.快速开始 🔥
  • 02.基础-Base
  • 03.对象-Object
  • 04.数组-Array
  • 05.方法-Function
  • 06.字符串-String
  • 07.数学-Math
  • 08.dom
  • 09.拓展
  • webpack5.x教程学习 (opens new window)
  • 例子
  • 教程 🔥
  • 例子配置
企业级后台模版 (opens new window)
版本v3.3.3-beta1
首页
  • 01.快速开始 🔥
  • 02.基础-Base
  • 03.对象-Object
  • 04.数组-Array
  • 05.方法-Function
  • 06.字符串-String
  • 07.数学-Math
  • 08.dom
  • 09.拓展
  • webpack5.x教程学习 (opens new window)
  • 例子
  • 教程 🔥
  • 例子配置
企业级后台模版 (opens new window)
  • 快速开始

  • 基础-Base

  • 对象-Object

    • 序言 👏
    • has【对象含有属性(功能更强大)】
    • hasOwn【对象含有属性(扩展)】
    • deepClone【深度克隆】
    • setPropPath【给每个对象设置路径节点名】
    • findPropPath【从对象中找到键名路径名】
    • get【获取对象属性值】🔥🔥🔥
      • 1.示例
      • 2.入参说明
      • 3.源码
    • flatten 【将对象进行扁平化】
    • readonly【定义只读属性】
    • def【定义不可枚举属性】
    • cache【内存缓存对象】
    • bus【发布订阅】🔥🔥🔥
    • merge 【合并对象】
    • deepMerge 【递归深合并对象】
    • transformObjectKeys【对象属性字段全部转成大写或者小写】
    • convertPropToLower【对象属性字段全部转成大写或者小写】
    • looseEqual【比较对象内部结构和数据】🔥🔥🔥
    • omit【忽略对象属性】
    • pick【取出对象属性】
  • 数组-Array✨✨✨

  • 方法-Function

  • 字符串-String

  • 数学-Math

  • 文件-Buffer

  • 节点-dom

  • 拓展

  • nodejs

目录

get【获取对象属性值】🔥🔥🔥

描述

获取对象的属性的值,如果值为 undefined(即没找到),则返回默认值 v3.0.0-beta-1.0+

# 1.示例

import { get } from 'sf-utils2'

const info = {
  id: 1,
  name: '售后',
  route: '',
  parent_id: 0,
  icon: '0',
  type: 1,
  list_order: 1,
  is_show: true,
  index: 1,
  child: [
    {
      id: 777,
      name: '用户代理结算',
      route: '',
      parent_id: 1,
      icon: '0',
      type: 1,
      list_order: 15,
      is_show: true,
      index: '1-777',
      child: [
        {
          id: 778,
          name: '列表',
          route: '/index/agency-settlement/list',
          parent_id: 777,
          icon: '0',
          type: 1,
          list_order: 1,
          is_show: true,
          index: '1-777-778'
        },
        {
          id: 961,
          name: '删除代理记录',
          route: '',
          parent_id: 777,
          icon: '0',
          type: 2,
          list_order: 2,
          is_show: false,
          index: '1-777-961'
        }
      ]
    }
  ]
}

get(info, 'child[0].child[0].route') //输出 /index/agency-settlement/list

// 没有找到, 设置默认值
get(info, 'child[0].child[0].route.id.name', '这是默认值') // 输出  这是默认值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55

:::

# 2.入参说明

参数 说明 类型 是否必填 默认值
obj 原对象 Object 是
property 属性名 String 是
defaultValue 默认值 如果没有找到,设置默认值 any 否 undefined

# 3.源码

import _helperObjectFlatten from '@/_helper/_helperObjectFlatten'

/**
 * 获取对象的属性的值,如果值为 undefined,则返回默认值
 * @param {Object} obj
 * @param {String} property
 * @param {Any} defaultValue
 * @returns {*}
 */
function get(obj, property, defaultValue) {
  let result
  _helperObjectFlatten(obj, (value, field) => {
    if (field === property) {
      result = value
      return true
    }
  })
  return result || defaultValue
}

export default get
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
上次更新: 2023/06/24, 19:35:48
findPropPath【从对象中找到键名路径名】
flatten 【将对象进行扁平化】

← findPropPath【从对象中找到键名路径名】 flatten 【将对象进行扁平化】→

Theme by Vdoing | Copyright © 2022-2025 bianpengfei
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×