ut2
Version:
一个现代 JavaScript 实用工具库。[点击查看在线文档]。
29 lines (28 loc) • 882 B
TypeScript
import { Many, TPath } from './internals/types';
/**
* 判断对象自身及继承的属性是否包含路径属性。
*
* @alias module:Object.hasIn
* @since 1.20.0
* @see {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/in | in}
* @param {*} object 要查询的对象。
* @param {string | number | symbol | Array} path 属性路径字符串或数组。
* @returns {boolean} 对象自身及继承的属性是否包含路径属性。
* @example
* const obj = { a: [{ b: { c: 1 } }] };
*
* hasIn(obj, 'a[0].b.c'); // true
*
* hasIn(obj, 'a.0.b.c'); // true
*
* hasIn(obj, ['a', '0', 'b', 'c']); // true
*
* hasIn(obj, 'a.b.c'); // false
*
* hasIn(obj, 'a.0.b.c.d'); // false
*
* // 包含继承属性
* hasIn(obj, 'toString'); // true
*/
declare function hasIn(object: any, key: Many<TPath>): boolean;
export default hasIn;