Спасибо всем, что разъяснили, но всё же возможность удаления пользователя была бы полезной: так как если важно, чтобы логин был конкретным, а такой юзер уже занят и пароль утерян, ситуация неприятная. Да и в целом минимализм - это круто
Как удалить дубликаты в разных списках не теряя связи между строками, с учетом разного количества дубликатов?
-
Как удалить дубликаты в разных списках не теряя связи между строками, с учетом разного количества дубликатов?
Пример
ID
1
2
3
4
Количество зрителей
10
10
2
3
Если для каждого списка применить удаление дубликатов, выйдет
ID
1
2
3
4
Количество зрителей
10
2
3
То есть теряется соответствие строки
я ручками это очень устал делать в excel, помогите0) -
@nazar21015 said in Как удалить дубликаты в разных списках не теряя связи между строками, с учетом разного количества дубликатов?:
Как удалить дубликаты в разных списках не теряя связи между строками, с учетом разного количества дубликатов?
Пример
ID
1
2
3
4
Количество зрителей
10
10
2
3
Если для каждого списка применить удаление дубликатов, выйдет
ID
1
2
3
4
Количество зрителей
10
2
3
То есть теряется соответствие строки
я ручками это очень устал делать в excel, помогите0)О какой связи между строками вы говорите?
-
Скажем, как в двух списках есть данные связанные между собой, но хранятся они в разных списках, так как там разное регуляторное выражение. 10 зрителей относятся, связанны с индексом 0. У ID [0]1 было 10 зрителей[0]10. Если по отдельно пропарсить дубликаты строк, эта построчная/поиндексная связь будет нарушена, что значит если обращаться к ресурсу после обычного удаления дубликатов, выйдет, что для [1]ID 2 будет как бы присвоено [1]3 зрителя, вместо [1]10
Login
[0]aa
[1]bb
[2]cc
[3]bb
[4]zz
[5]zz
ID
[0]1
[1]2
[2]3
[3]4
[4]5
[5]5
Количество зрителей
[0]10
[1]10
[2]3
[3]4
[4]4
[5]4
выходной результат после удаления дубликатов
Login
[0]aa
[1]bb
[2]cc
[3]bb
[4]zz
ID
[0]1
[1]2
[2]3
[3]4
[4]5
Количество зрителей
[0]10
[1]3
[2]4 -
Хотелось, чтобы было так на выходе
Login
[0]aa
[1]bb
[2]cc
[3]bb
[4]zz
ID
[0]1
[1]2
[2]3
[3]4
[4]5
Количество зрителей
[0]10
[1]10
[2]3
[3]4
[4]4 -
CHATgpt чето мне нафундюрил но неворк))
// Получение данных из трех списков
var logins = project.getColumn("Login");
var ids = project.getColumn("ID");
var viewerCounts = project.getColumn("Количество зрителей");// Создание объекта для хранения уникальных значений ID и соответствующих им зрителей
var idMap = {};// Заполнение объекта данными из списков
for (var i = 0; i < ids.length; i++) {
var id = ids[i];
var viewerCount = viewerCounts[i];if (!idMap[id]) { idMap[id] = viewerCount; } else { idMap[id] += viewerCount; }}
// Создание новых списков для результатов
var newLogins = [];
var newIds = [];
var newViewerCounts = [];// Заполнение новых списков на основе данных из объекта idMap
for (var id in idMap) {
newLogins.push(logins[id]);
newIds.push(id);
newViewerCounts.push(idMap[id]);
}// Запись результатов в проект
project.setColumn("Login", newLogins);
project.setColumn("ID", newIds);
project.setColumn("Количество зрителей", newViewerCounts); -
Кому может помочь под бас доделал во, просто для себя меняете не там ваще шляпа вышла)
// Получение данных из трех списков
var logins = [[LOGINS]];
var channelIds = [[CHANELID]];
var viewerCounts = [[VIEWERS]];// Создание объекта для хранения уникальных значений Channel ID и соответствующих им зрителей
var channelIdMap = {};// Заполнение объекта данными из списков
for (var i = 0; i < channelIds.length; i++) {
var channelId = channelIds[i];
var viewerCount = viewerCounts[i];if (!channelIdMap[channelId]) { channelIdMap[channelId] = viewerCount; } else { channelIdMap[channelId] += viewerCount; }}
// Создание новых списков для результатов
var newLogins = [];
var newChannelIds = [];
var newViewerCounts = [];// Заполнение новых списков на основе данных из объекта channelIdMap
for (var channelId in channelIdMap) {
newLogins.push(logins[channelId]);
newChannelIds.push(channelId);
newViewerCounts.push(channelIdMap[channelId]);
}// Обновление столбцов в проекте с новыми данными
[[LOGINS]] =newLogins;
[[CHANELID]] = newChannelIds;
[[VIEWERS]] = newViewerCounts; -
Вам в принципе не нужны списки, а нужен объект. Что бы обращаться к данным можно было не по индексу а по ключу