我現在有下面的代碼如何ES6休息和傳播工作
var _ = require('underscore');
var raw =[
{
key :"name",value:"henry"
},
{
key :"age",value:"old"
},
{
key :"food",value:"matooke"
},
{
key :"kids",value:"Acacia"
},
{
key :"garbageA",value:"kasailoA"
},
{
key :"garbageB",value:"kasasiroB"
},
]
const endShape = _(raw)
.filter(({key}) =>!/garbage/.test(key))
.map(({key,value})=>({[key]:value}))
.reduce((acc,curr)=>({...curr, ...acc}));
console.log(endShape);
代碼工作很好,我在下面的教程。 我瞭解.map()方法。 雖然我沒能得到一個什麼樣
.reduce((acc,curr)=>({...curr, ...acc}));
是做一個明確的解釋。如何得出這個正確的結果?
{ kids: 'Acacia', food: 'matooke', age: 'old', name: 'henry' }
你有什麼語法錯誤ES6。如果它對你「起作用」,你似乎正在使用[實驗性轉譯器](http://babeljs.io/docs/plugins/transform-object-rest-spread/) – Bergi
哪種語法錯誤?請清楚解釋 – henrybbosa
'{... curr,... acc}'是無效的ES6。 – Bergi