在 JavaScript 中,为对象的嵌套数组添加路径(path)是一种常见的操作。下面是一个示例对象:
const obj = {
name: 'Peter',
age: 30,
friends: [
{
name: 'John',
age: 25
},
{
name: 'Sarah',
age: 28
}
]
};
要向对象的嵌套数组添加属性,可以使用以下方法:
function addPath(obj, path, value) {
const props = Array.isArray(path) ? path : path.split('.');
let i = 0;
while (i < props.length - 1) {
obj = obj[props[i]];
i++;
}
obj[props[i]] = value;
}
addPath(obj, 'friends.0.location.country', 'USA');
console.log(obj.friends[0].location.country); // 输出:USA
这个方法中,首先将路径(path)转换为属性的数组(props)。然后,使用 while 循环迭代数组中的所有属性,直到最后一个属性。在每次循环中,将 obj 设置为属性的值。最后,将最后一个属性的值设置为目标值(value)。