[
{
"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"
},
...
]
Este es mi objeto de muestra. Lo obtengo de una solicitud de aplicación de búsqueda de URL. ¿Cómo puedo filtrar esto para poder publicar una lista de un solo tipo de Valor?
Por ejemplo: si quiero filtrarlo por ID de clave, quiero obtener una lista que sea algo así como: 100,101, ... Así sucesivamente.
Gracias
4 respuestas
Para google-apps-script las funciones de flecha (=>
) no funcionarán.
Uso:
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
es tu objeto, key
es lo que quieres extraer, como un id
Alternativamente, podría usar Array.reduce, aunque no estoy seguro de que haya algún beneficio sobre el método de mapa de 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)
En lugar de Array.prototype.filter()
debe usar Array.prototype.map ()
Código:
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)
Preguntas relacionadas
Nuevas preguntas
javascript
Para preguntas sobre la programación en ECMAScript (JavaScript / JS) y sus diversos dialectos / implementaciones (excepto ActionScript). Incluya todas las etiquetas relevantes en su pregunta; por ejemplo, [node.js], [jquery], [json], etc.