请注意,我提供的结构只是一个示例,但可以是。
主要目标是更改密钥'在任何级别递归地选择我选择的值。
以下是澄清的例子:
var items = {
price: 10,
child: {
price: 20,
child: {
price: 10
}
},
child2: {
price: 40,
child: {
price: 50,
child: [{ price: 30 }, { price: 40 }]
}
}
};
鉴于此,您如何将所有价格更改为0?
答案 0 :(得分:1)
递归循环并检查密钥price
。
var items = { price: 10, child: { price: 20, child: { price: 10 } }, child2: { price: 40, child: { price: 50, child: [{ price: 30 }, { price: 40 }] } }};
function loop(obj) {
if (typeof obj !== 'object') return;
Object.keys(obj).forEach((k) => {
if (k === 'price') obj[k] = 0;
else loop(obj[k]);
});
}
loop(items);
console.log(items)
.as-console-wrapper { max-height: 100% !important; top: 0; }
答案 1 :(得分:1)
这是一个大致的想法:
setTextAlignment() OR setGravity()