# functions
# Description
创建一个函数属性名称的数组,函数属性名称来自 object 对象自身可枚举属性。
# Params
object
# Return
Array
# Code
function functions(object) {
if (object == null) {
return []
}
return Object.keys(object).filter((key) => typeof object[key] === 'function')
}
# Analyze
如果 object
为 null
或者 没有传入 ,则返回空数组
通过 Object.keys
拿到所有可遍历的属性,通过 filter
进行过滤,过滤条件是 当前 key
对应的 值是一个 function
类型
# Remark
- Object.keys() MDN (opens new window) 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和正常循环遍历该对象时返回的顺序一致 。
- Array.prototype.filter() MDN (opens new window) 方法创建一个新数组,其包含通过所提供函数实现的测试的所有元素。
# Example
const a = {
a: () => {},
b: () => {},
c: 3
}
console.log(functions(a)) // [ 'a', 'b' ]
← fromEntries get →