从数组打字稿中列出项目的逻辑

时间:2018-10-08 04:23:18

标签: javascript arrays typescript

输入obj是

let arr1 = [
[[{id:1}, {id:2}],
[{id:3}, {id:4}],
[{id:5}]
]
}

需要如下结果

let op = [{id:1}, {id:3},{id:5},{id:2},{id:4}]

逻辑基于 第一个数组的第一个项目,然后第二个数组的第一个项目,然后第三个数组的第一个项目,然后第一个数组的第二个项目....它将像这样。 N * N数组

1 个答案:

答案 0 :(得分:0)

answer是您要查找的功能:

"use strict";
function answer(arr) {
    let op = [];
    let i = 0;
    while (true) {
        let hasSome = false;
        for (const item of arr) {
            if (item[i]) {
                op.push(item[i]);
                hasSome = true;
            }
        }
        if (!hasSome)
            return op;
        i++;
    }
}
const arr1 = [
    [{ id: 1 }, { id: 2 }],
    [{ id: 3 }, { id: 4 }],
    [{ id: 5 }]
];
console.log(answer(arr1));