Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从该对象获取数据?_Javascript_Jquery_Json_Angular - Fatal编程技术网

Javascript 如何从该对象获取数据?

Javascript 如何从该对象获取数据?,javascript,jquery,json,angular,Javascript,Jquery,Json,Angular,请帮忙。我有一个像这样的对象: data: { offersMonday: [ { "name": "name1", "description" "description 1" }, { "name": "name2", "description": "des

请帮忙。我有一个像这样的对象:

data: {
       offersMonday: [
               {
                 "name": "name1",
                 "description" "description 1"
               },
               {
                 "name": "name2",
                 "description": "description 2"
               }
          ],
        offersTuesday: [
        {
                 "name": "name1",
                 "description" "description 1"
               },
               {
                 "name": "name2",
                 "description": "description 2"
               }
          ],
          offersWednesday: [
             {
                 "name": "name1",
                 "description" "description 1"
               },
               {
                 "name": "name2",
                 "description": "description 2"
               }
          ]
}
data.offersMonday[0].description
我需要得到每个对象实例下的描述。最好的方法是什么

我应该使用
filter()
函数吗

谢谢


编辑:我需要将它们全部放在一个变量中。因此,执行类似于
offersMonday[0]的操作。description+offerstuday[0]。description
不是处理此问题的好方法。

您可以尝试以下操作:

data: {
       offersMonday: [
               {
                 "name": "name1",
                 "description" "description 1"
               },
               {
                 "name": "name2",
                 "description": "description 2"
               }
          ],
        offersTuesday: [
        {
                 "name": "name1",
                 "description" "description 1"
               },
               {
                 "name": "name2",
                 "description": "description 2"
               }
          ],
          offersWednesday: [
             {
                 "name": "name1",
                 "description" "description 1"
               },
               {
                 "name": "name2",
                 "description": "description 2"
               }
          ]
}
data.offersMonday[0].description
阅读特定的描述。或类似于以下内容的内容来获取所有描述:

var数据={
报价星期一:[
{
“名称”:“名称1”,
“说明”:“说明1”
},
{
“名称”:“名称2”,
“说明”:“说明2”
}
],
报价人星期二:[
{
“名称”:“名称1”,
“说明”:“说明1”
},
{
“名称”:“名称2”,
“说明”:“说明2”
}
],
报价人星期三:[
{
“名称”:“名称1”,
“说明”:“说明1”
},
{
“名称”:“名称2”,
“说明”:“说明2”
}
]
}
var描述=[];
for(var输入数据){
数据[key].forEach(函数(obj){
说明.推送(对象说明);
});
}
控制台日志(描述)

在主对象上循环,获取所有数组元素描述值,并将它们附加到descs数组。

您可以尝试以下操作:

var descriptions = [];
for(prop in data){
    data[prop].forEach(function(offer){
        descriptions.push(offer.description);
    }
}

看起来您缺少了一些
标记。为了正确设置格式,我已将您的输入数据重新格式化如下:

const input = {
data: {
    offersMonday: [{
        name: "name1",
        description: "description 1"
    }, {
        name: "name2",
        description: "description 2"
    }],
    offersTuesday: [{
        name: "name1",
        description: "description 1"
    }, {
        name: "name2",
        description: "description 2"
    }],
    offersWednesday: [{
        name: "name1",
        description: "description 1"
    }, {
        name: "name2",
        description: "description 2"
    }]
}
}
下面是一个在对象中移动并获取所需内容的函数。我删除了“”标记,因为它们不是有效的JS(我假设您是从JSON获得的)。当JSON对象进入时,它无论如何都会为您删除引号

这是一个对我有效的解决方案,如果格式不是您想要的,请告诉我

function groupDescriptions(input) {
  let aggregatedArray = [];
  const data = input.data;

  for (day in data) {
      const innerArray = data[day];
      innerArray.forEach((item) => {
          aggregatedArray.push(item.description);
      })

  }
    return aggregatedArray;
  }
aggregatedArray
返回以下内容:

[ 'description 1',
'description 2',
'description 1',
'description 2',
'description 1',
'description 2' ]

你想让数据在你取出后看起来怎么样?我会编辑,给我一分钟。你想得到这个
描述
数据是什么意思,你想要什么格式?对象,还是数组?我已经编辑了我的问题。“在一个变量中”是什么意思?你的意思是一个所有描述都连接在一起的字符串吗?还是字符串数组?还有什么?我需要把它们都放在一个变量中。@eric.dummy我添加的代码片段怎么样?请给我一点时间。好吧,我在同一时间写的,我没有看到它!