我有以下数组
array = [
{
"id": "67",
"sub": [
{
"id": "663",
},
{
"id": "435",
}
]
},
{
"id": "546",
"sub": [
{
"id": "23",
"sub": [
{
"id": "4",
}
]
},
{
"id": "71"
}
]
}
]
我当前正在循环遍历数组,如下所示
调用数组:
processArray(array);
函数循环
function processArray(arr)
{
for(var item in arr) {
var value = arr[item];
var order = item;
var itemID = value.id;
if(itemID != null)
{
$('.text').append(" ORDER : " + order + " Item ID : " + itemID + "<br />" );
}
if(typeof(value) == 'object') { //If it is an array,
processArray(arr[item]);
}
}
}
目前我正在获取商品的订单和当前 ID,没有问题。然而,我需要的(对于我的数据库模式)是为每一项获取其父项的 ID(如果有的话)。 我需要将父节点传递给每个节点吗?或者有更简单的方法吗?
谢谢
最佳答案
在函数中包含可选参数parentID
;通过这样做,您仍然可以使用 processArray(array);
语法来处理原始数组。
function processArray(arr, parentID)
{
for(var item in arr) {
var value = arr[item];
var order = item;
var itemID = value.id;
if(itemID != null)
{
var output = " ORDER : " + order + " Item ID : " + itemID;
if( parentID ) { output += " PARENT : " + parentID; }
$('.text').append( output + "<br />");
}
// PROCESS SUB-ARRAY
if( typeof(value.sub) == 'object') { //If it is an array,
processArray( value.sub, itemID );
}
}
}
关于javascript - jQuery 嵌套数组..获取直接父 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12145316/