vue 遍历递归数组对象,把对象每一个属性值包含enc=1的属性值赋予新值
时间: 2023-06-25 20:05:21 浏览: 116
可以使用递归函数来实现遍历递归数组对象,并且修改包含`enc=1`的属性值。以下是一个示例代码:
```javascript
function updateEncryptedValues(obj) {
for (let key in obj) {
if (typeof obj[key] === 'object' && obj[key] !== null) {
// 递归遍历对象
updateEncryptedValues(obj[key]);
} else if (key === 'enc' && obj[key] === 1) {
// 修改包含enc=1的属性值
obj.value = 'new_encrypted_value';
}
}
}
// 示例数据
let data = [
{
name: 'John',
age: 30,
address: {
street: '123 Main St',
city: 'New York',
enc: 1,
value: 'encrypted_address'
},
enc: 0
},
{
name: 'Jane',
age: 35,
address: {
street: '456 Park Ave',
city: 'Los Angeles',
enc: 0,
value: 'unencrypted_address'
},
enc: 1
}
];
// 遍历递归数组对象,并修改包含enc=1的属性值
data.forEach(obj => {
updateEncryptedValues(obj);
});
console.log(data);
```
在上面的示例代码中,`updateEncryptedValues`是一个递归函数,它遍历对象的每一个属性,并且如果属性的值是一个对象,则递归调用`updateEncryptedValues`函数。如果属性的键为`enc`并且值为1,则将该对象的`value`属性值修改为`new_encrypted_value`。
最后,我们遍历递归数组对象`data`,并且对每一个对象调用`updateEncryptedValues`函数,以修改包含enc=1的属性值。
阅读全文