js给多级对象数组加随机数id
时间: 2023-07-19 08:42:25 浏览: 61
可以使用递归的方式来给多级对象数组加随机数id。以下是一个示例代码:
```javascript
function addRandomId(obj) {
if (Array.isArray(obj)) { // 如果是数组
obj.forEach(item => addRandomId(item)); // 递归处理数组元素
} else if (typeof obj === 'object' && obj !== null) { // 如果是对象
obj.id = Math.floor(Math.random() * 10000); // 添加随机数id
Object.values(obj).forEach(val => addRandomId(val)); // 递归处理对象属性值
}
}
// 示例用法
const obj = {
name: 'John',
age: 30,
children: [
{ name: 'Alice', age: 5 },
{ name: 'Bob', age: 8, grandchildren: [{ name: 'Charlie', age: 2 }] }
]
}
addRandomId(obj);
console.log(obj);
```
上述代码会给`obj`对象及其属性值添加一个随机数id,例如:
```javascript
{
name: 'John',
age: 30,
id: 7368,
children: [
{ name: 'Alice', age: 5, id: 7733 },
{
name: 'Bob',
age: 8,
id: 1430,
grandchildren: [{ name: 'Charlie', age: 2, id: 641 }]
}
]
}
```