Javascript 检索指向尚未定义的对象的引用值
我正在接收一个JSON对象。每个对象可以包含一个数字或对同一JSON中另一个对象的引用,也可以是数字或引用等 它看起来与此类似:Javascript 检索指向尚未定义的对象的引用值,javascript,reactjs,Javascript,Reactjs,我正在接收一个JSON对象。每个对象可以包含一个数字或对同一JSON中另一个对象的引用,也可以是数字或引用等 它看起来与此类似: { "data":[ { "value":5 }, { "value":3 }, { "value":7 }, { "
{
"data":[
{
"value":5
},
{
"value":3
},
{
"value":7
},
{
"reference":1
}
]
}
该引用意味着该值将与本例中的data[reference.value]
相同data[1]=3
。所以最困难的部分是当我收到一个物体时,一个参考物体指向他下面的物体。这意味着在尝试获取值时,它没有定义,因为我像往常一样迭代它们。该引用还可以指向不存在的对象。这是我需要解决的问题:
{
"data":[
{
"reference":1
},
{
"reference":2
},
{
"reference":3
},
{
"value":10
}
]
}
那么,有人能给一个可能的解决方案一个提示吗。我使用React,所以我可以在这里使用状态,虽然我也不确定它看起来如何,这是简单的js代码。当您迭代列表时,simpy只需使用递归来获取值。像这样的
const getValue = (item) => {
if(item.value) return item.value;
return (getValue(data[item.reference]))
}
const values = data.map(item => getValue(item));