【发布时间】:2020-02-23 17:06:50
【问题描述】:
我有一个具有以下结构的多维数组:
[13] => Array
(
[id] => 51
[text] => Corporate
[seltext] => Corporate
[parent_id] => 0
[object_type] => folder
[corefilename] =>
[userUNIQUE] =>
[nodes] => Array
(
[0] => Array
(
[id] => 50
[text] => Due diligence
[seltext] => Due diligence
[parent_id] => 51
[object_type] => folder
[corefilename] =>
[userUNIQUE] =>
)
[1] => Array
(
[id] => 2
[text] => Drafts
[seltext] => Drafts
[parent_id] => 51
[object_type] => folder
[corefilename] =>
[userUNIQUE] =>
[nodes] => Array
(
[0] => Array
(
[id] => 6
[text] => de
[seltext] => Decisions [parent_id] => 2
[object_type] => folder
[corefilename] =>
[userUNIQUE] =>
[nodes] => Array
(
[0] => Array
(
[id] => 44
[text] =>
[parent_id] => 6
[object_type] => file
[corefilename] => f-8TYO89KHTK1BNV4QMMAW6GHEEDRREECP1VDV4Y6VLXWM7XS97V4LCUWXJFM6E61VXF
[userUNIQUE] =>
我想获取一直填充到数组下方的所有“id”值 - 节点。我尝试过迭代,但我唯一能达到的级别是第一个。
这是我试图运行但没有成功的功能:
var childs=$('#tree').treeview('getSelected', loc);
function getValuesByKey(object, key) {
var values = [];
recursiveFx(object);
function recursiveFx(object) {
for (var property in object) {
if (object.hasOwnProperty(property)) {
if (typeof object[property] == "object") {
recursiveFx(object[property]);
} else {
try {
if (isDefined(object[key])) {
console.log('value:',object[key]);
values.push(object[key]);
}
} catch (e) {
}
}
}
}
}
return values;
}
getValuesByKey(childs, 'id');
我做错了什么?
【问题讨论】:
-
这似乎是递归的好地方。但是您能否提供一些数据的 sn-p,以便我们为您提供帮助?
-
你是对的!我忘记发布代码 sn-p。线程已更新。
标签: javascript arrays iterator iteration