gpt4 book ai didi

javascript - 如何从多个嵌套对象中计算特定值的对象数量?

转载 作者:行者123 更新时间:2023-11-28 12:13:26 25 4
gpt4 key购买 nike

var foodwebsites = {
"bacon": [{
"url": "stackoverflow.com",
}],
"icecream": [{
"url": "example.com",
}],
"cheese": [{
"url": "example.com",
}]
}

var baconfoodwebsites = foodwebsites.bacon.filter(function(elem) {
return elem.url == 'example.com';
}).length;

var icecreamfoodwebsites = foodwebsites.icecream.filter(function(elem) {
return elem.url == 'example.com';
}).length;

var cheesefoodwebsites = foodwebsites.cheese.filter(function(elem) {
return elem.url == 'example.com';
}).length;

var allfoodwebsites = baconfoodwebsites + icecreamfoodwebsites + cheesefoodwebsites;

console.log(baconfoodwebsites, icecreamfoodwebsites, cheesefoodwebsites, allfoodwebsites)

我想做完全相同的事情,而不重复所有这些单独的嵌套对象(培根、冰淇淋和奶酪)。

我认为答案是这样的:

var allfoodwebsites = foodwebsites=.filter(function( elem) {
return elem.url == 'example.com';
}).length;

其他信息:

如果可能的话,我只想使用 jQuery + Pure Javascript。

我想查找所有带有 "url": "example.com"的嵌套对象

最佳答案

使用 Object.values、Array#reduce() 和 Array#flat() 。注意 flat() 在某些环境下可能需要 polyfill

let foodwebsites = {"bacon": [{"url": "stackoverflow.com",}],"icecream": [{"url": "example.com",}],"cheese": [{"url": "example.com",}]};


const getUrlCount = (url) => {
return Object.values(foodwebsites)
.flat()
.reduce((a, {url:u})=> a + (url === u) , 0)

}

console.log(getUrlCount("example.com"))

关于javascript - 如何从多个嵌套对象中计算特定值的对象数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55641398/

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