gpt4 book ai didi

javascript - 更改函数内对象的值

转载 作者:行者123 更新时间:2023-11-28 18:30:29 25 4
gpt4 key购买 nike

在“superSecret”函数中,“spy”将作为代表 spy 的对象传入。我想循环遍历 spy 对象上的所有属性,并将所有值更改为字符串“redacted”,然后返回更新后的 spy 对象。有人可以看看我的代码并帮我把它拼凑起来吗?

var superSecret = function(spy){
for(var i = 0; i < spy.length; i++) {
"redacted"
return
}

var jamesBond = {
eye: "brown",
hair: "black",
gun: "goldenGun",
}

最佳答案

在 Javascript 中,对象是通过引用传递的,因此您实际上不需要返回对象:

var superSecret = function(spy){
Object.keys(spy).forEach(function(key){
spy[key] = 'redacted';
});
}

var jamesBond = {
eye: "brown",
hair: "black",
gun: "goldenGun",
}

superSecret(jamesBond);

console.log(jamesBond);

但是,如果您想保留原始对象并返回修改后的副本,您可以使用:

var superSecret = function(spy){
var redacted = {};
Object.keys(spy).forEach(function(key){
redacted[key] = 'redacted';
});
return redacted;
}

var jamesBond = {
eye: "brown",
hair: "black",
gun: "goldenGun",
}

var unknownHero = superSecret(jamesBond);

console.log(jamesBond);
console.log(unknownHero);

关于javascript - 更改函数内对象的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38110693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com