微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何根据url中的对象属性和路径动态呈现内容

如何解决如何根据url中的对象属性和路径动态呈现内容

我有一个这样的对象数组:

const products = [
{
name: 'prod1',category: 'cat1',pageID: 'product-001',},{
name: 'prod1',}];

我将它们呈现为我的应用程序中的产品列表。呈现的产品列表上的每个位置都应链接到特定的产品视图。到目前为止,我想出了 pageID 属性,它作为道具传递给链接。工作正常 - 路径正确。

我遇到的问题: 在尝试呈现特定产品视图时,我正在映射对象数组。如何检查我的 window.location.pathname 是否与对象的 pageID 之一相同,然后仅获取此对象的名称和类别?

解决方法

只需将数组 reduce 放入一个对象中,键是 pageID,值是 name,category 的对象:

const products = [{
  name: 'prod1',category: 'cat1',pageID: 'product-001'
},{
  name: 'prod2',category: 'cat2',pageID: 'product-002'
},pageID: 'product-002'
}];

const pageIDs = products.reduce((a,{ name,category,pageID }) => ({ ...a,[pageID]: { name,category }}),{});

let windowPathname = "product-002";

console.log(pageIDs[windowPathname]);

(我编辑了您的示例数据以证明它有效)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。