# getMatchData
# Description
获取对象的属性名称,值和比较标志。
# Params
{Object} object
# Return
Array
# Depend
import isStrictComparable from './isStrictComparable.js'
import keys from '../keys.js'
# Code
function getMatchData(object) {
const result = keys(object)
let length = result.length
while (length--) {
const key = result[length]
const value = object[key]
result[length] = [key, value, isStrictComparable(value)]
}
return result
}
# Analyze
- 使用
keys
获取object
所有可枚举属性,组成一个数组,拿到数组的length
while
循环,取出,对应的key
,value
, 以及通过 isStrictComparable 来判断当前value
是否适合===
比较- 将
key
,value
,isStrictComparable
的结果组成一个新的数组,赋值给result
对应的下标
# Remark
# Example
const a = {a: 1, b:2, c:3}
Object.defineProperty(a, Symbol(1),{
value: 'symbol'
})
console.log(getMatchData(a)) // [ [ 'a', 1, true ], [ 'b', 2, true ], [ 'c', 3, true ] ]
← getHolder getSymbols →