Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何查找和更新嵌套对象_Javascript_Javascript Objects - Fatal编程技术网

Javascript 如何查找和更新嵌套对象

Javascript 如何查找和更新嵌套对象,javascript,javascript-objects,Javascript,Javascript Objects,鉴于下面的嵌套对象,我如何找到每个“女性”并将其工资更新10% var topSalary = { 'Alex' : {salary: 2000, gender: 'male'}, 'John' : {salary: 1440, gender: 'male'}, 'Sarra' : {salary: 5187, gender: 'female'}, 'Philip' : {salary: 3309, gender: 'male'}, 'Anna' : {s

鉴于下面的嵌套对象,我如何找到每个“女性”并将其工资更新10%

var topSalary = {
    'Alex' : {salary: 2000, gender: 'male'},
    'John' : {salary: 1440, gender: 'male'},
    'Sarra' : {salary: 5187, gender: 'female'},
    'Philip' : {salary: 3309, gender: 'male'},
    'Anna' : {salary: 2304, gender: 'female'},
};

逐个元素迭代staffWithGender元素(例如,通过使用for循环),检查每个元素的性别,最后-如果其为“女性”,则更新薪资

var staffWithGender={
伊万:{工资:2000,性别:'男'},
安德烈:{工资:1440,性别:'男性'},
'玛丽娜':{薪水:5187,性别:'女性'},
‘Oleg’:{工资:3309,性别:'男性'},
安娜:{工资:2304,性别:'女性'},
};
for(员工性别中的var i)
if(staffWithGender[i]。性别=='female')
员工性别[i]。工资*=1.1;

控制台日志(staffWithGender)以在位编辑对象:

var-topSalary={
亚历克斯:{工资:2000,性别:'男性'},
约翰:{工资:1440,性别:'男'},
“Sarra”:{工资:5187,性别:'女性'},
‘Philip’:{薪水:3309,性别:'男性'},
安娜:{工资:2304,性别:'女性'},
};
console.log(“Before:”,topSalary)
Object.entries(topSalary.forEach)([name,details])=>{
如果(details.gender=='female'){
details.salary+=details.salary*.1
}
})

console.log(“之后:”,topSalary)
请添加更多详细信息。例如,我会假设你是在JS或TS中做这件事的,所以这不是一个请做我的家庭作业的网站。你应该做你自己的工作。当您努力这么做并遇到困难时,您可以解释您遇到的问题,包括代码的相关部分,并询问有关该代码的特定问题,我们将尽力提供帮助。如果你根本无法开始,请向你的导师寻求帮助。你会发现,如果你在开始发布之前花一些时间阅读网页,了解网站的工作原理以及我们的期望,你会在这里获得更好的体验。你没有解释为什么这是一个解决方案,也没有努力将任何知识传递给OP或任何未来的读者。没有其他信息的转储代码不是答案。这个网站是关于创建一个知识库的,你还没有提供任何支持这个目标的东西。除了教你如何复制/粘贴别人的作品外,你的答案对知识的贡献是什么?请记住,Stack Overflow强烈建议只回答问题。这显然不是其中之一。另外,我认为这是一个很好的答案。我想知道的是@BorisLipschitz,你为什么要更改员工姓名?@gunn,我没有,我猜是在我复制粘贴测试数据后,OP做的。编辑,是的,他看了,只是看了一下OP编辑。不会改变的,TBH,我有点后悔发了那三行。KenWhite说得对,所以不是一个“做我的家庭作业”的网站,这三行肯定不值得这么多评论。总之,我更新了这个问题,试图让它变得更好。