Мне нужно какое-то руководство, пожалуйста: я создаю новый многомерный массив объектов, начинающийся с массива объектов:
[
{number:111, connectedNumber: 112, ...},
{number:112, connectedNumber: 111, ...},
{number:113, connectedNumber: 114, ...},
{number:114, connectedNumber: 113, ...}
....
]
Итак, в конце мне нужно получить новыймногомерный массив с группами связанных объектов:
[
[{number:111, connectedNumber: 112, ...}, {number:112, connectedNumber: 111, ...}],
[{number:113, connectedNumber: 114, ...}, {number:114, connectedNumber: 113, ...}],
]
Как вы можете видеть, они связаны с number === connecetedNumber
.
До сих пор я занимаюсь созданием нового массива изацикливание в исходном списке объектов и проверка number === connecetedNumber
и добавление нового массива:
for (let j = count; numbers.length > j; j++) {
organizedNumber.push([numbers[j]]);
for (let k = j; numbers.length > k; k++) {
if (numbers[j].number === numbers[k].connectedNumber) {
organizedNumber[j].push(numbers[k]);
}
}
}
, но это возвращает новый массив в следующем формате:
[
[{number:111, connectedNumber: 112, ...}, {number:112, connectedNumber: 111, ...}],
[{number:112, connectedNumber: 111, ...}],
[{number:113, connectedNumber: 114, ...}, {number:114, connectedNumber: 113, ...}],
[{number:114, connectedNumber: 113, ...}],
....
]
Как выможет видеть цикл, выполняемый над каждым элементом (как и ожидалось), и добавляет следующий элемент, который уже добавлен в предыдущий массив.
Любое руководство здесь, пожалуйста.