var json={
name: 'john',
age: '80',
child: [
{
name: 'sindy',
age: '60',
child: [
{
name: 'bob',
age: '40',
child: [
{
name: 'sany',
age: '20'
}
]
}
]
},
{
name: 'susan',
age: '70'
}
]
}
Run Code Online (Sandbox Code Playgroud)
我想得到所有名称的值,然后将它们放在一个数组中.喜欢:
['john','sindy','bob','sany','susan']
Run Code Online (Sandbox Code Playgroud)
首先,我应该知道深浅的副本吗?
这是一个基本的递归问题.它就像检查这个人是否有子数组一样简单,而不是处理孩子.
var json={
name: 'john',
age: '80',
child: [
{
name: 'sindy',
age: '60',
child: [
{
name: 'bob',
age: '40',
child: [
{
name: 'sany',
age: '20'
}
]
}
]
},
{
name: 'susan',
age: '70'
}
]
};
var names = []; //where we will store the names
function findName (obj) {
names.push(obj.name); //get the current person's name
if(obj.child) obj.child.forEach(findName); //if we have a child, loop over them
}
findName(json);
console.log(names);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
44 次 |
| 最近记录: |