map循环的使用: 我本来使用的是通过for循环去将数组下的各个值以及个别值下面的值都取出来作为一个数组使用: const result = providers.map((provider) => provider.stat); const res = []; for ( var i=0; i<providers.length; i++){ res[i] = { createdAt:providers[i]['createdAt'], id:providers[i]['id'], tags:providers[i]['tags'], title:providers[i]['title'], type:providers[i]['type'], url:providers[i]['url'], userId:providers[i]['userId'], stat:providers[i]['stat'], count:result[i]['count'], cost:result[i]['cost'], expose:result[i]['expose'], click:result[i]['click'], price:result[i]['price'] }; } 先将 数组provider下面的stat 数组取出来,然后通过循环将所有的值都重新赋值给res,这样所有的key就都可以在同一下标下面了。
最后通过 map去进行循环,就可以方便许多了: const res = providers.map(( priv) => ({ id: priv.id, tags: priv.tags, createdAt: priv.createdAt, title: priv.title, type: priv.type, url: priv.url, userId: priv.userId, stat: priv.stat, count: priv.stat.count, cost: priv.stat.cost, expose: priv.stat.expose, click: priv.stat.click, price: priv.stat.price }) );