gpt4 book ai didi

javascript - jQuery/Lodash - 通过键获取多个嵌套的 json 值

转载 作者:行者123 更新时间:2023-12-03 01:26:51 30 4
gpt4 key购买 nike

我有一组正在生成的 json 供其他函数使用。

window.customJSON = {
"1894873974": {
title: "Yellow",
images: [
{
main: "/images/img1.jpg",
alt: "image alt tag"
},
{
main: "/images/img2.jpg",
alt: "image alt tag"
}
]
},
"2397423987": {
title: "Orange",
images: [
{
main: "/images/img1.jpg",
alt: "image alt tag"
}
]
}
}

我想做的是获取所有项目的“images”中“main”的所有值,并将它们分配到一个数组中。这些数字代表唯一的代码,因此我不想获取特定的索引,而是获取所有图像网址。

我正在使用 lodash 成功映射其他内容,因此我尝试使用:

var imgArray = _.map(window.customJSON.images, 'main');

我只是不太确定正确的语法。我浏览了 lodash 文档,但无法通过 google 搜索正确的单词组合来获得答案。

jquery 或 lodash 解决方案都可以。

谢谢

最佳答案

在映射 main 属性之前,您需要先对图像进行flatMap。请参阅下面的工作演示:

let customJSON = {
"1894873974": {
title: "Yellow",
images: [{
main: "/images/img1.jpg",
alt: "image alt tag"
},
{
main: "/images/img2.jpg",
alt: "image alt tag"
}
]
},
"2397423987": {
title: "Orange",
images: [{
main: "/images/img1.jpg",
alt: "image alt tag"
}]
}
}

let result = _(customJSON)
.flatMap('images')
.map('main')
.value();

console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.10/lodash.min.js"></script>

如果您只需要获取唯一值,请在 value() 之前应用 uniq()

关于javascript - jQuery/Lodash - 通过键获取多个嵌套的 json 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51494528/

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