Skip to content

prop(idx, subject) curry

对对象的取值操作,默认有?.效果

入参

参数类型必填说明
idxstring | number | symbol| Array<string | number | symbol>-
subjectObject | Array-

返回

返回属性值

示例

typescript
const s1 = Symbol();
const obj = { a: 1, b: { c: 2, d: [1, 2, 3], [s1]: "s1" } };
const arr = [1, 2, [3, 4, [5]]];

prop("a.b", obj); // 不存在的属性返回 undefined
prop("a", obj); // 1
prop("b.c")(obj); // 2
prop(["b", "c"])(obj); // 2
prop("b.d.0")(obj); // 1
prop("b.d.2")(obj); // 3
prop(["b", "d", s1])(obj); // "s1"
prop("0")(arr); // 支持科里化  1
prop("2[2].0")(arr); // 5