繁体   English   中英

查找每个数组值的所有 url

[英]Find all urls for each array value

给定以下数组结构:

{ url: "www.site.com", ids: ["F20", "C10", "C05"] }, { url: "www.site.com/something", ids: ["F20", "C06", "C05"] }, { url: "www.site.com/somethingelse", ids: ["F21", "C12", "C05"] }

我正在尝试遍历数组并找到每个 id 的所有 url。 所以最终结果会将 id 值具有相同 url 的 url 分组:

例如 F20 会有www.site.comwww.site.com/something

数据结构最终将成为一个对象数组,其中每个 id 都有一个 url 数组,其中 id 存在。

我从基本的 for 循环开始,但坚持循环并检查与其关联的数组的每个值的 url,然后按 id 分组的最佳方式。

for(id of ids){ console.log(id) }

最终结果将是一个 id 列表,其中包含该 id 出现的所有关联 url。

您可以遍历输入数组,然后遍历每个输入元素的 id,并继续为相应的 id 添加 url。 例如

const input = [{ url: "www.site.com", ids: ["F20", "C10", "C05"] }, { url: "www.site.com/something", ids: ["F20", "C06", "C05"] }, { url: "www.site.com/somethingelse", ids: ["F21", "C12", "C05"] }]
const output = {}
input.forEach(obj=>{
    const ids = obj.ids
    if(ids && ids.length>0){
        ids.forEach(id=>{
            if(!output[id]){
                output[id] = []
            }
            output[id].push(obj.url)
        })
    }
})

for(let id of Object.keys(output)){
    console.log(`${id}:${JSON.stringify(output[id])}`)
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM