【发布时间】:2021-05-20 01:50:28
【问题描述】:
我正在尝试减少我的二维数组,以便没有重复的子数组。我使用了 .reduce() 方法来解决这个问题,但是我的条件语句似乎不像人们想象的那样工作。
请参阅标准输出以获得更多清晰度。如果您知道如何进行这项工作或可能的解决方法,请告诉我。
const unique = result.reduce<number[][]>((accum, curr) => {
if (!accum.includes(curr)) {
console.log('accum:', accum);
console.log('curr', curr);
return [...accum, curr];
}
else{
return accum;
}
}, []);
console.log('\nresult', result);
console.log('unique', unique);
/*
stdout:
accum: []
curr [ 0, -1, 1 ]
accum: [ [ 0, -1, 1 ] ]
curr [ 0, -1, 1 ]
accum: [ [ 0, -1, 1 ], [ 0, -1, 1 ] ]
curr [ 2, -1, -1 ]
result [ [ 0, -1, 1 ], [ 0, -1, 1 ], [ 2, -1, -1 ] ]
unique [ [ 0, -1, 1 ], [ 0, -1, 1 ], [ 2, -1, -1 ] ]
desired output:
unique [ [ 0, -1, 1 ], [ 2, -1, -1 ] ]
*/
【问题讨论】:
标签: node.js typescript multidimensional-array types reduce