多个成员(按变量)

时间:2019-10-09 07:39:47

标签: javascript parent

我得到了这个物体。它有多个父母。

    object;
    var i=4;

我想知道的是这个

    object.parent.parent.parent.parent; //4x because i=4

我该怎么说“ i == 4,所以我要父母的深度为4”,如:

    object + 4x .parent

3 个答案:

答案 0 :(得分:2)

您可以使用一个临时变量,并存储实际的对象引用,并以lokng的方式进行赋值,因为count的父属性不为null。

var object = { parent: { parent: { parent: { parent: 'target' } } } },
    temp = object,
    i = 4;

while (i--) temp = temp.parent;

console.log(temp);

如果您的对象中没有父母,则可以创建嵌套属性。

在这种情况下,您需要在循环外使用最后一个属性来分配最终值。

var object = {},
    temp = object,
    i = 4;

while (--i) {
    temp.parent = {};
    temp = temp.parent;
}

temp.parent = 'target';

console.log(object);

答案 1 :(得分:2)

这应该可以解决问题:

const obj = {};
const i = 4;

let prev = obj; // Keep track of where we currently are.
for(let j = 0; j < i; j++) {
  prev.parent = {};
  prev = prev.parent; // We have to go deeper.
}

console.log(obj);

i确定所需的嵌套父级数,然后循环构建所需的输出。

可以for循环的内容设置为单行,但出于可读性原因,我建议您这样做:

for(let j = 0; j < i; j++) {
  prev = prev.parent = {}; // We have to go deeper.
}

答案 2 :(得分:-1)

我假设您的意思是您想要第4个父母。 如果实体的父级位于父级键上,则可以使用以下命令:

ionic serve
相关问题