gpt4 book ai didi

javascript - 如何递归地计算它在对象中出现的目标键(属性)的数量?

转载 作者:行者123 更新时间:2023-11-30 16:05:52 24 4
gpt4 key购买 nike

编写一个函数来计算某个键在对象中出现的次数。

// var testobj = {'e': {'x':'y'}, 't':{'r': {'e':'r'}, 'p': {'y':'r'}},'y':'e'};

// countKeysInObj(testobj, 'r') // 1

// countKeysInObj(testobj, 'e') // 2

这是我的代码,但它不起作用:

var countKeysInObj = function(obj, key) {
var num = 0;
for (var prop in obj) {
if (prop === key) {
num++;
}
var value = obj[prop];
if (typeof value === 'object') {
return countKeysInObj(value, key);
}
}
return num;
};

最佳答案

问题是你返回而不是num+=

var countKeysInObj = function(obj, key) {
var num = 0;
for (var prop in obj) {
if (prop === key) {
num++;
}
var value = obj[prop];
if (typeof value === 'object') {
num += countKeysInObj(value, key);
}
}
return num;
};

关于javascript - 如何递归地计算它在对象中出现的目标键(属性)的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37066251/

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