` filter`:map
とfilter
を使用して`map`と、次の入力持つJavaScriptで
var m = [{
name: 'foo',
routes: [{verb: 'post', path: '/foo1'},
{verb: 'get', path: '/foo2'}]
}, {
name: 'bar',
routes: [{verb: 'put', path: '/:id'}]},
{
name: '__ignoreme',
routes: [{verb: 'post', path: '/baz1'},
{verb: 'get', path: '/baz2'}]
}]
を私が達成したい:
var desired = [
'foo POST /foo1',
'foo GET /foo2',
'bar PUT /:id',
]
完全なコード:
var m = [{
name: 'foo',
routes: [{verb: 'post', path: '/foo1'},
{verb: 'get', path: '/foo2'}]
}, {
name: 'bar',
routes: [{verb: 'put', path: '/:id'}]},
{
name: '__ignoreme',
routes: [{verb: 'post', path: '/baz1'},
{verb: 'get', path: '/baz2'}]
}]
var desired = [
'foo POST /foo1',
'foo GET /foo2',
'bar PUT /:id',
]
var myOutput = m
.filter(function (m) {
return m.name.indexOf('__') === -1;
})
.map(function (m) {
return [
m.name,
m.routes[0].verb.toUpperCase(), // I should loop through my array instead of getting just the first element
// But can I loop through the array in my map?
m.routes[0].path
].join(' ');
});
console.log('>myOutput:', myOutput);
// What I achieve which is not desired :
// [
// 'foo POST /foo1',
// 'foo PUT /:id',
//]
これは私のコードで使用されている構造体で、私は小さなもので私の望む出力を達成したい変更して、まだmap
とfilter
を使用しています。
私の配列にループする方法はありますか? –
私はあなたの出力に '' foo GET/foo2''を期待していますか?しかし、あなたはそれを明示的にフィルタリングしました。 –
はい私の 'map'関数の中でどのように私のルート配列にループすることができますか? –