/**
*
* @param arr - 需要扁平化的数组
*/
function flattenArrayIterative(arr: any[]): any[] {
const result: any[] = [];
const stack: any[] = [...arr];
while (stack.length > 0) {
const item = stack.pop();
if (Array.isArray(item)) {
stack.push(...item);
} else {
result.push(item);
}
}
return result.reverse(); // 由于是从后往前添加,需要反转结果
}
最近使用级联选择器多选时发现选后的数据后,每一项选择的都是数组类型,需要根据业务逻辑做扁平化处理(每个元素都拆出来)再传给后端。