要从两个不同的多维数组中获取唯一值,首先需要将多维数组扁平化为一维数组,然后使用集合(Set)来去除重复的值。以下是一个使用JavaScript实现的示例:
function flattenArray(arr) {
return arr.reduce((flat, toFlatten) => {
return flat.concat(Array.isArray(toFlatten) ? flattenArray(toFlatten) : toFlatten);
}, []);
}
function getUniqueValues(arr1, arr2) {
const flattenedArr1 = flattenArray(arr1);
const flattenedArr2 = flattenArray(arr2);
const combinedSet = new Set([...flattenedArr1, ...flattenedArr2]);
return Array.from(combinedSet);
}
// 示例
const array1 = [[1, 2], [3, 4]];
const array2 = [[3, 4], [5, 6]];
console.log(getUniqueValues(array1, array2)); // 输出: [1, 2, 3, 4, 5, 6]
对于大型数组,可以使用迭代方法来避免栈溢出:
function flattenArrayIterative(arr) {
const stack = [...arr];
const result = [];
while (stack.length) {
const next = stack.pop();
if (Array.isArray(next)) {
stack.push(...next);
} else {
result.push(next);
}
}
return result.reverse();
}
通过这种方式,可以有效地处理大型数据集,同时保持代码的清晰和高效。
领取专属 10元无门槛券
手把手带您无忧上云