运行 Object.keys 在对象中包含嵌套值
Run Object.keys to include nested values in an object
说我有对象...
myObject = {
prop1: 'someValue',
prop2: {
subProp1: 'nestedValue',
supProp2: {
superNestedProp: 'superNestedValue'
}
}
}
如何 运行 一个函数 return 所有键,包括嵌套键?
示例输出:
[prop1, prop2, subProp1, subProp2, superNestedProp]
您可以构建一个递归函数,在其中您可以使用 flatMap
和 Object.entries
来获得预期的输出:
const myObject = { prop1: 'someValue', prop2: { subProp1: 'nestedValue', supProp2: { superNestedProp: 'superNestedValue' } }};
const getProps = obj => Object.entries(obj).flatMap(([k,v])=>typeof v=="object" ? [k,...getProps(v)] : k);
console.log(getProps(myObject));
说我有对象...
myObject = {
prop1: 'someValue',
prop2: {
subProp1: 'nestedValue',
supProp2: {
superNestedProp: 'superNestedValue'
}
}
}
如何 运行 一个函数 return 所有键,包括嵌套键?
示例输出:
[prop1, prop2, subProp1, subProp2, superNestedProp]
您可以构建一个递归函数,在其中您可以使用 flatMap
和 Object.entries
来获得预期的输出:
const myObject = { prop1: 'someValue', prop2: { subProp1: 'nestedValue', supProp2: { superNestedProp: 'superNestedValue' } }};
const getProps = obj => Object.entries(obj).flatMap(([k,v])=>typeof v=="object" ? [k,...getProps(v)] : k);
console.log(getProps(myObject));