gpt4 book ai didi

javascript - 过滤具有嵌套结构的 JavaScript 对象

转载 作者:行者123 更新时间:2023-11-30 13:53:00 41 4
gpt4 key购买 nike

let data = [
{
title: 'aa',
releases: [
{ version: '1', owner: 'john'},
{ version: '2', owner: 'bob'}
]
},
{
title: 'bb',
releases: [
{ version: '1', owner: 'john'},
{ version: '2', owner: 'jack'}
]
},
{
title: 'cc',
releases: [
{ version: '1', owner: 'doo'},
{ version: '2', owner: 'park'}
]
},
]

我有一组对象,如上所示。

我正在尝试通过 releases 数组中的 owner 过滤对象。

我试过的是

data.filter(item => 
['john'].some(
item.releases.some(
obj=>obj.owner.toLowerCase().includes(['john'])
)
)
)

我使用了一个字符串数组来在未来进行多个搜索查询。但这给了我一个错误

未捕获的类型错误:true 不是函数

我该如何解决这个问题?

结果应该是在其任何 releases 数组中拥有 john 所有者的所有对象

最佳答案

那个 ['john'].some( 调用并没有真正的帮助。没有那个你已经有了逻辑。

您收到该错误是因为您将 some()(返回 bool 值)的结果传递给 some()(需要一个函数)。

另外,询问字符串是否包含字符串时,应该传入字符串,而不是数组。

const filteredData = data.filter(item => 
item.releases.some(
obj => obj.owner.toLowerCase().includes('john')
)
)

关于javascript - 过滤具有嵌套结构的 JavaScript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57860349/

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