Javascript jQuery/Lodash-按键获取多个嵌套json值

Javascript jQuery/Lodash-按键获取多个嵌套json值,javascript,jquery,lodash,Javascript,Jquery,Lodash,我已经得到了一组json,这些json被生成用于其他函数 window.customJSON = { "1894873974": { title: "Yellow", images: [ { main: "/images/img1.jpg", alt: "image alt tag" }, { main: "/images/img2.jpg", alt: "image alt tag"

我已经得到了一组json,这些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”的所有值,并将它们分配到单个数组中。这些数字代表唯一的代码,所以我不想得到一个特定的索引,而是所有的图像URL

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

var imgArray = _.map(window.customJSON.images, 'main');
我只是不太确定语法是否正确。我查阅了lodash文档,但我无法通过谷歌搜索正确的单词组合来获得答案

jquery或lodash解决方案都可以


谢谢

在映射
主属性之前,您需要先
平面映射
图像
。请参见下面的工作演示:

让customJSON={
"1894873974": {
标题:“黄色”,
图像:[{
main:“/images/img1.jpg”,
alt:“图像alt标记”
},
{
main:“/images/img2.jpg”,
alt:“图像alt标记”
}
]
},
"2397423987": {
标题:“橙色”,
图像:[{
main:“/images/img1.jpg”,
alt:“图像alt标记”
}]
}
}
let result=u3;(customJSON)
.flatMap('图像')
.map('main'))
.value();
控制台日志(结果)

在对象键上循环并映射图像。。
让customJSON={
"1894873974": {
标题:“黄色”,
图像:[
{
main:“/images/img1.jpg”,
alt:“图像alt标记”
},
{
main:“/images/img2.jpg”,
alt:“图像alt标记”
}
]
},
"2397423987": {
标题:“橙色”,
图像:[
{
main:“/images/img1.jpg”,
alt:“图像alt标记”
}
]
}
}
设res=[];
for(customJSON中的var键){
让images=customJSON[key]['images'];
res=res.concat(images.map(image=>image.main))
}
控制台日志(res)

Ur json不正确,图像应该是对象。您的问题中没有json,请阅读。values()不正确necessary@KoushikChatterjee--谢谢你指出。代码已更正。