# parent
# Description
获取 path
路径的父级
e.g
const a = {
b: {
c: 1
}
}
取 ['b','c']
, 就会得到 {c: 1}
# Params
(object, path)
{Array} path
# Return
{*}
# Depend
import baseGet from './baseGet.js'
import slice from '../slice.js'
# Code
function parent(object, path) {
return path.length < 2 ? object : baseGet(object, slice(path, 0, -1))
}
# Analyze
- 如果
path
的个数小于2,也就是 1或者0时,返回object
本身 - 大于2的情况下,通过
slice
将最后一位截掉,然后使用baseGet
获取对应的值,也就是拿到最后一位的父级
# Remark
这里并没有判断 path 路径的合法性,所以 path 最后一个元素,不合法的情况下,也是会返回结果的
# Example
const a = {
a: {
b: {
c: 1
}
}
}
console.log(parent(a, ['a', 'b', 'd'])) // { c: 1 }
console.log(parent(a, ['a', 'b', 'c'])) // { c: 1 }