jquery - 从选定的 Object.keys 获取和使用值
问题描述
我有一个数组如下。
var Brand = { "Brand1-Parameter1-SubBrand1": [{ "Image": "animal", "Heading": "SubBrand1", "Link": "SubBrand1" }],
"Brand1-Parameter1-SubBrand2": [{ "Image": "animal", "Heading": "SubBrand2", "Link": "SubBrand2" }],
"Brand1-Parameter2-SubBrand3": [{ "Image": "water", "Heading": "SubBrand3", "Link": "SubBrand3" }],
"Brand1-Parameter2-SubBrand4": [{ "Image": "water", "Heading": "SubBrand4", "Link": "SubBrand4" }],
"Brand2-Parameter1-SubBrand5": [{ "Image": "travel", "Heading": "SubBrand5", "Link": "SubBrand5" }],
"Brand2-Parameter1-SubBrand6": [{ "Image": "travel", "Heading": "SubBrand6", "Link": "SubBrand6" }],
"Brand2-Parameter2-SubBrand7": [{ "Image": "flower", "Heading": "SubBrand7", "Link": "SubBrand7" }],
"Brand2-Parameter2-SubBrand8": [{ "Image": "flower", "Heading": "SubBrand8", "Link": "SubBrand8" }],
}
一个小的过滤器函数为我提供了上述数组中的两个 Object.key:
var ParentBrandParameterKeys = Object.keys(Brand).filter(v => v.split("-").includes(ParentBrandSelected) && v.split("-").includes(ParameterSelected))
console.log(ParentBrandParameterKeys) 给了我以下信息:
["Brand1-Parameter1-SubBrand1", "Brand1-Parameter1-SubBrand2"]
我需要的是使用上述选定键的值来构建一个小的 div 结构,如下所示:
jQuery.each(ParentBrandParameterKeys, function(index, value){
markup += '<a href="/Directory/SubDirectory/'+ Brand[value].Link +'.html">'
markup += '<div class="InnerBlock">'
markup += '<div style="background-image:url(https://source.unsplash.com/1280x720/?' + Brand[value].Image +')">'+ Brand[value].Heading +'</div>'
markup += '</div>'
markup += '</a>'
});
但这行不通。如何获取所选 Object.keys 的值?
解决方案
正如您从您的结构中看到的那样,与"Brand1-Parameter1-SubBrand1"
(例如)相关联的有一个数组,里面有一个对象,因此您的函数应该如下所示:
jQuery.each(ParentBrandParameterKeys, function(index, value){
markup += '<a href="/Directory/SubDirectory/'+ Brand[value][0].Link +'.html">'
markup += '<div class="InnerBlock">'
markup += '<div style="background-image:url(https://source.unsplash.com/1280x720/?' + Brand[value][0].Image +')">'+ Brand[value][0].Heading +'</div>'
markup += '</div>'
markup += '</a>'
});
推荐阅读
- linux - 如何显示给定目录中字符串中单词的基本名称、路径和出现次数?
- javascript - 查找具有相同类的最近元素
- database - 您的实时数据库有不安全的规则
- presto - 有没有办法过滤 presto 数组中的奇数或偶数索引?
- terminal - Pycharm wsl终端在错误的目录中运行
- bash - MakeFile 命令中的小写并用破折号替换空格以生成博客文章文件名
- verilog - Verilator,运行模拟器给出:无效的参数
- xamarin.ios - 无法使用 iOS 15 模拟器将我的 Xamarin 应用程序部署到 iPhone 13
- javascript - 正确显示图像和javascript
- python - 如何更改 Plolty 中的默认符号序列?