#javascript #vuejs2
#javascript #vuejs2
Вопрос:
var obj = [
{
"amount": " 12185",
"job": "GAPA",
"month": "JANUARY",
"year": "2010"
},
{
"amount": "147421",
"job": "GAPA",
"month": "MAY",
"year": "2010"
},
{
"amount": "2347",
"job": "GAPA",
"month": "AUGUST",
"year": "2010"
}
]
Как я могу получить все суммы, то есть '12185'
, '147421'
, '2347'
.
Я пытался сделать это
Object.keys(obj).map(key => obj[key])
Комментарии:
1.
obj
это не объект, это массив объектов. (Назовите это правильно и) используйте для этого правильные инструменты (Array.prototype.map()
)
Ответ №1:
Ваша obj
переменная на самом деле является массивом. (обозначается фигурными скобками []
)
Вы можете использовать функцию map для массива, чтобы вернуть то, что вы запрашиваете.
var amounts = obj.map(x => x.amount); // Array(3) [ " 12185", "147421", "2347" ]
Вы также можете добавить .trim() в конец x.amount, чтобы удалить все пробелы.
var amounts = obj.map(x => x.amount.trim()); // Array(3) [ "12185", "147421", "2347" ]
var obj = [
{
"amount": " 12185",
"job": "GAPA",
"month": "JANUARY",
"year": "2010"
},
{
"amount": "147421",
"job": "GAPA",
"month": "MAY",
"year": "2010"
},
{
"amount": "2347",
"job": "GAPA",
"month": "AUGUST",
"year": "2010"
}
];
var amounts = obj.map(x => x.amount);
console.log(keys); // Array(3) [ " 12185", "147421", "2347" ]
Ответ №2:
Я полагаю, вы ищете это
var obj = [
{
"amount": " 12185",
"job": "GAPA",
"month": "JANUARY",
"year": "2010"
},
{
"amount": "147421",
"job": "GAPA",
"month": "MAY",
"year": "2010"
},
{
"amount": "2347",
"job": "GAPA",
"month": "AUGUST",
"year": "2010"
}
];
let amounts = obj.map(v => v.amount);
console.log(amounts);
Ответ №3:
Ваш obj
массив, вам понадобится:
const vals = obj.map(entry => entry.amount); // ["12185", "147421", "2347"]