gpt4 book ai didi

javascript - 如何循环遍历嵌套的 JSON 数组以获取特定值?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:57:27 24 4
gpt4 key购买 nike

<分区>

我正在使用基于模块化 CSS 原则的 Sass 框架,它将每个 Sass“模块”的所有变量和配置输出为 DOM 中的 JSON 格式,我已在我的 JS 中成功检索到它们。我的 JSON 格式如下:

{  
"billboard":{
"selector-type":"flex",
"extend-settings":true,
"name":"billboard",
"full-screen":false,
"overlay":true,
"bg-color":"#232627",
"bg-image":"../../images/billboard-1.jpg",
"overlay-color":"#9B58B5",
"overlay-opacity":0.6,
"color":"#ffffff",
"text-align":"center",
"min-height":"500px",
"wrapper-width":"940px"
},
"navigation":{
"selector-type":"flex",
"extend-settings":true,
"name":"navigation",
"item-color":"#ffffff",
"item-bg":"transparent",
"item-border":[
"1px",
"solid",
"transparent"
],
"item-hover-color":null,
"item-hover-bg":"transparent",
"item-hover-border":[
"1px",
"solid",
"#ffffff"
]
"header-dark":{
"default":false,
"item-color":"#6f777b",
"item-border":[
"1px",
"solid",
"#ffffff"
],
"item-bg-color":"transparent",
"item-hover-color":null,
"item-hover-border":[
"1px",
"solid",
"#ffffff"
],
"item-hover-bg-color":"#9B58B5"
},
"style":false,
"no-icons":true,
"link-color":"#ffffff"
}
}

每个第一个级别集将始终是一个 Sass“模块”(例如,“ header ”),然后它将包含模块的配置,可以是任何深度。

我想编写一个函数来检索我指定的键的值。由于并非所有键都是唯一的,唯一保证唯一性的是模块名称,我的要求是能够通过指定父项来选择值。

这是我目前所拥有的,其中“stylesConfig”是我的 JSON 数据数组:

function module(module, option) {
var mValue;
$.each(stylesConfig, function(id, param) {
if(id == module) {
$.each(param, function(key, value) {
if (key == option) {
mValue = value;
return false;
}
});
}
});
return mValue;
}

这可以完美地使用:

module("navigation", "selector-type");

这将使用上述 JSON 示例返回“flex”。问题是它不能递归工作,所以不能用于嵌套选项。我希望能够扩展我已经能够做的事情,比如:

module("navigation", ["header-dark", "item-color"]);

返回“#6f777b”。

来自设计背景,坦率地说,我不知道自己在做什么。我的编程能力仅限于使用 Sass 学到的知识。

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