[
{
"id":100,
"account_id":8,
"name":"Out of Service",
"default":false,
"created_at":"2012-02-06T08:51:29.720-06:00",
"updated_at":"2012-02-06T08:51:29.720-06:00"
},
...
]
Это мой образец объекта. Я получаю это из запроса приложения url fetch. Как я могу отфильтровать это, чтобы я мог опубликовать список только одного типа значения.
Например: если я хочу отфильтровать его по ключевому идентификатору, я хочу получить список, который выглядит примерно так: 100,101, ... Так далее.
Спасибо
4 ответа
Для google-apps-script функции стрелок (=>
) не будут работать.
Использование:
function testIt()
{
var sample = [
{
"id":100,
"account_id":8,
"name":"Out of Service",
"default":false,
"created_at":"2012-02-06T08:51:29.720-06:00",
"updated_at":"2012-02-06T08:51:29.720-06:00"
},
{
"id":101,
"account_id":8,
"name":"Out of Service",
"default":false,
"created_at":"2012-02-06T08:51:29.720-06:00",
"updated_at":"2012-02-06T08:51:29.720-06:00"
},
];
var result = sample.map(function(elt) { return elt.id; });
Logger.log(result); // [100.0, 101.0]
}
const extractFieldArray = (data, key) => data.map(d => d[key]);
// data
это ваш объект, key
это то, что вы хотите извлечь, например id
В качестве альтернативы вы можете использовать Array.reduce, хотя я не уверен, что есть какие-либо преимущества по сравнению с методом карты Yosvel:
const data = [
{
"id":100,
"account_id":8,
"name":"Out of Service",
"default":false,
"created_at":"2012-02-06T08:51:29.720-06:00",
"updated_at":"2012-02-06T08:51:29.720-06:00"
},
{
"id":102,
"account_id":8,
"name":"Out of Service",
"default":false,
"created_at":"2012-02-06T08:51:29.720-06:00",
"updated_at":"2012-02-06T08:51:29.720-06:00"
},
{
"id":105,
"account_id":8,
"name":"Out of Service",
"default":false,
"created_at":"2012-02-06T08:51:29.720-06:00",
"updated_at":"2012-02-06T08:51:29.720-06:00"
},
]
const res = data.reduce(
(acc, val) => {
return [...acc, val.id]
},
[]
)
console.log(res)
Вместо Array.prototype.filter()
вы должны использовать Array.prototype.map ( )
Код:
const data = [
{
"id":100,
"account_id":8,
"name":"Out of Service",
"default":false,
"created_at":"2012-02-06T08:51:29.720-06:00",
"updated_at":"2012-02-06T08:51:29.720-06:00"
},
{
"id":101,
"account_id":8,
"name":"Out of Service",
"default":false,
"created_at":"2012-02-06T08:51:29.720-06:00",
"updated_at":"2012-02-06T08:51:29.720-06:00"
},
]
const result = data.map(obj => obj.id)
console.log(result)
Похожие вопросы
Новые вопросы
javascript
Для вопросов, касающихся программирования в ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (исключая ActionScript). Этот тег редко используется отдельно, но чаще всего ассоциируется с тегами [node.js], [jquery], [json] и [html].