[英]How can I extract exactly 2 keys and values from several objects in an array
[英]How can I extract keys and values from a nested object of objects?
这是我上次采访中的一个问题,我正试图解决这个问题:在这种情况下,我想捕获嵌套的 object 中的值并将它们记录到控制台中。
const obj1 = {
foo: 1,
bar: {
foo1: 2,
bar1: {
foo2: {
foo3: 3,
bar2: 4
},
bar3: 5
}
}
};
// output: [1,2,3,4,5] //
实际上,我的意思是以专业的方式。 不是这样的:
[obj1.foo, obj1.bar.foo1, obj1.bar.bar1.foo2.foo3, obj1.bar.bar1.foo2.bar2, obj1.bar.bar1.bar3]
你可以这样做
const obj1 = { foo: 1, bar: { foo1: 2, bar1: { foo2: { foo3: 3, bar2: 4 }, bar3: 5 } } }; const getValues = (data, values= []) => { if(typeof data.== 'object'){ return [..,values. data] } return Object.values(data),flatMap(v => getValues(v. values)) } console.log(getValues(obj1))
您可以获得这样的特定属性:
> function nestedObject (nested) {
> for (const key in nested) {
> if (typeof nested[key] === 'object') {
> for (const nesty in nested[key]) {
> console.log(nested[key][nesty]);
> }
> } else {
> console.log(nested[key]);
> }
> } }
> nestedObject(obj1);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.