可以使用递归函数来将嵌套数组从初始对象转换为空数组。下面是一个使用Angular的解决方法的代码示例:
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
template: `
{{ convertedObject | json }}
`,
})
export class AppComponent {
initialObject = {
name: 'John',
age: 30,
nested: [
{
name: 'Jane',
age: 25,
nested: [
{
name: 'Mark',
age: 40,
nested: [],
},
],
},
{
name: 'Mike',
age: 35,
nested: [],
},
],
};
convertedObject: any;
constructor() {
this.convertedObject = this.convertNestedArrays(this.initialObject);
}
convertNestedArrays(obj: any): any {
const newObj = { ...obj };
if (Array.isArray(newObj.nested) && newObj.nested.length === 0) {
newObj.nested = [];
} else {
newObj.nested = newObj.nested.map((item: any) => {
return this.convertNestedArrays(item);
});
}
return newObj;
}
}
在上面的示例中,我们定义了一个初始对象initialObject
,它包含嵌套的数组。在AppComponent
的构造函数中,我们调用convertNestedArrays
函数来将初始对象转换为空数组。convertNestedArrays
函数使用递归的方式遍历对象的nested
属性,如果nested
是一个空数组,则将其赋值为空数组,否则继续递归处理嵌套对象。最后,我们使用convertedObject
属性在模板中显示转换后的对象。