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我添加的代码片段怎么样?请给我一点时间。好吧,我在同一时间写的,我没有看到它!