optimizedRoute = ['Bengaluru', 'Salem', 'Erode', 'Tiruppur', 'Coimbatore']
result = [
{start: bengaluru, end: salem},
{start: salem, end: erode},
{start: erode, end: tiruppur},
{start: tiruppur, end: coimbatore},
]
我希望将 optimizedRoute
转换为结果。我希望使用ES6的.reduce()
来实现这一点。以下是我的尝试:
const r = optimizedRoute.reduce((places, place, i) => {
const result: any = [];
places = []
places.push({
startPlace: place,
endPlace: place
});
// result.push ({ startplace, endplace, seats: 4 });
// console.log(result);
return places;
}, {});
console.log(r)
{ start: undefined, end: 'Bengaluru',}
。这是否与 reduce 在没有初始值时忽略第一个值有关? - Orelsanplsreduce
没有初始值,那么数组中的前两个元素将作为累加器和当前项。索引从1
开始计数。例如,您可以尝试这个:[4, 5, 6, 7].reduce((a, b, i) => (console.log(i, a, b), b));
- Nina Scholz