Поиск одинакового значения в двух списках

viktoriyagalkina3535

Новичок
Регистрация
07.01.2023
Сообщения
16
Реакции
1
Баллы
3
Здравствуйте !
Очень хочу разобраться с кубиком JS , но понять не могу где почитать как писать код. GPT вроде пишет чтото разумное, но когда копируешь результат в кубик JS то не получается ничего
Итак, есть два списка test и test2. В них примерно 10-20 строк появляются. Одно, два, или три значения могут быть одинаковыми. Например:
Список test
дата и время
лог
Онкина Маргарита
сообщение
сайт

Список test2
свекла
дата
промо
Онкина Маргарита
Гаврилюк Марина

Из этих списков мне надо только одинаковое совпадение ( Онкина Маргарита в примере). Ну и положить результат в список или переменную
Как это сделать без JS я понять не могу, поэтому формулирую задачу GPT и получаю ответ:

// Пример списков
const list1 = ["строка1", "строка2", "строка3", "общая строка"];
const list2 = ["строка3", "строка4", "строка5", "общая строка"];

// Преобразуем списки в множества для более эффективного поиска
const set1 = new Set(list1);
const set2 = new Set(list2);

// Пересечение множеств - находим общие элементы
const intersection = new Set([...set1].filter(x => set2.has(x)));

// Выводим на экран общие элементы
console.log("Одинаковые строки в обоих списках:");
intersection.forEach(item => console.log(item));

Копирую в кубик, ну и конечно же ошибка Error in JavaScript: "eval code: Строка 1 - Ошибка: В этом контексте оператор import является недопустимым"

Как правильно сделать подскажите пожалуйста!
И еще вопрос. Как правильно указывать список и переменную в кодах для JS? Как вообще эту тему изучить? Я так понимаю что код какой то разный для зенки и для всего остального
Заранее очень большая благодарность за ответы
 
 
Здравствуйте !
Очень хочу разобраться с кубиком JS , но понять не могу где почитать как писать код. GPT вроде пишет чтото разумное, но когда копируешь результат в кубик JS то не получается ничего
Итак, есть два списка test и test2. В них примерно 10-20 строк появляются. Одно, два, или три значения могут быть одинаковыми. Например:
Список test
дата и время
лог
Онкина Маргарита
сообщение
сайт

Список test2
свекла
дата
промо
Онкина Маргарита
Гаврилюк Марина

Из этих списков мне надо только одинаковое совпадение ( Онкина Маргарита в примере). Ну и положить результат в список или переменную
Как это сделать без JS я понять не могу, поэтому формулирую задачу GPT и получаю ответ:

// Пример списков
const list1 = ["строка1", "строка2", "строка3", "общая строка"];
const list2 = ["строка3", "строка4", "строка5", "общая строка"];

// Преобразуем списки в множества для более эффективного поиска
const set1 = new Set(list1);
const set2 = new Set(list2);

// Пересечение множеств - находим общие элементы
const intersection = new Set([...set1].filter(x => set2.has(x)));

// Выводим на экран общие элементы
console.log("Одинаковые строки в обоих списках:");
intersection.forEach(item => console.log(item));

Копирую в кубик, ну и конечно же ошибка Error in JavaScript: "eval code: Строка 1 - Ошибка: В этом контексте оператор import является недопустимым"

Как правильно сделать подскажите пожалуйста!
И еще вопрос. Как правильно указывать список и переменную в кодах для JS? Как вообще эту тему изучить? Я так понимаю что код какой то разный для зенки и для всего остального
Заранее очень большая благодарность за ответы
Вот прям js нужен? c# не богоугодно?

C#:
Развернуть Свернуть Копировать
            var list1 = project.Lists["ПЕрвый лист"];
            var list2 = project.Lists["Второй лист"];
            var list3 = project.Lists["Результат лист"];

            foreach (var item in list1)
            {
                foreach (var item2 in list2)
                {
                    if (item == item2)
                    {
                        list3.Add(item);
                        break;
                    }
                }
            }
 
Очень хочу разобраться с кубиком JS....

Даже не начинай, зря потраченное время.

В зенке JS очень обрезанный, не имеет доступа к API зенки. чисто что то изменить в браузере, не более. ну и вишенка на торте, он завязан на браузер и если тот зависнет (что очень даже не маловероятно) , то и кубик JS работать не будет ;-)

Родной язык Зенки, это C#. вся обработка данных только на нем, а так же полный доступ к API зенки и браузера.
 
  • Спасибо
Реакции: adr1enette
Вот прям js нужен? c# не богоугодно?

C#:
Развернуть Свернуть Копировать
            var list1 = project.Lists["ПЕрвый лист"];
            var list2 = project.Lists["Второй лист"];
            var list3 = project.Lists["Результат лист"];

            foreach (var item in list1)
            {
                foreach (var item2 in list2)
                {
                    if (item == item2)
                    {
                        list3.Add(item);
                        break;
                    }
                }
            }

С# богоугодно конечно если будет работать)) Спасибо! Но я копирую то что вы мне отправили в кубик C# , меняю название списков и не выполняется. У меня код выглядит в кубике так:

var list1 = project.Lists[test];
var list2 = project.Lists[test2];
var list3 = project.Lists[result];

foreach (var item in list1)
{
foreach (var item2 in list2)
{
if (item == item2)
{
list3.Add(item);
break;
}
}
}

Почему не выполняется как считаете?
 


Большое спасибо! Почему то мой запрос в поиске не давал такого результата, читаю, но что то у меня видимо все таки не работает. Что то я делаю не правильно и понять не могу что именно.... списки есть, переменные есть, вроде записываю их привильно ....
 
Даже не начинай, зря потраченное время.

В зенке JS очень обрезанный, не имеет доступа к API зенки. чисто что то изменить в браузере, не более. ну и вишенка на торте, он завязан на браузер и если тот зависнет (что очень даже не маловероятно) , то и кубик JS работать не будет ;-)

Родной язык Зенки, это C#. вся обработка данных только на нем, а так же полный доступ к API зенки и браузера.

ОК! Уже C# вроде бы сказали мне делать, пробую....
 
С# богоугодно конечно если будет работать)) Спасибо! Но я копирую то что вы мне отправили в кубик C# , меняю название списков и не выполняется. У меня код выглядит в кубике так:

var list1 = project.Lists[test];
var list2 = project.Lists[test2];
var list3 = project.Lists[result];

foreach (var item in list1)
{
foreach (var item2 in list2)
{
if (item == item2)
{
list3.Add(item);
break;
}
}
}

Почему не выполняется как считаете?
Потому что названия списков должны быть в кавычках


C#:
Развернуть Свернуть Копировать
            var list1 = project.Lists["test"];

            var list2 = project.Lists["test2"];

            var list3 = project.Lists["result"];
 
Потому что названия списков должны быть в кавычках


C#:
Развернуть Свернуть Копировать
            var list1 = project.Lists["test"];

            var list2 = project.Lists["test2"];

            var list3 = project.Lists["result"];


Оооо!!! Получилось
Хотя где то на форуме кто то писал что кавычки надо убирать
Большое спасибо

Может тогда
 
Оооо!!! Получилось
Хотя где то на форуме кто то писал что кавычки надо убирать
Большое спасибо

Может тогда
на этом форуме нет системы рейтинга сообщений. нельзя заминусовать заведомо ложные или глупые высказывания. а так же нельзя писать негативное опровержение, выдадут пред. а потом забанят :bk:
поэтому надо относится к тому что написано, где то и кем то, как к записям на заборе ;-)
может и полезная инфа, а может и нет... без самостоятельной проверки, все нельзя принимать за чистую монету.
 
  • Спасибо
Реакции: A007
Потому что названия списков должны быть в кавычках


C#:
Развернуть Свернуть Копировать
            var list1 = project.Lists["test"];

            var list2 = project.Lists["test2"];

            var list3 = project.Lists["result"];


Мастер))) научи)) не могу понять еще кое что
Можно ли сравнивать переменную и список? Тоесть для экономии хотелось бы убрать лишние кубики списков, думаю может C# мне поможет этого добиться
В переменной есть XML страницы ( у меня дроид). Там 100500 строк в которых есть имя ( например Онкина Маргарита, но может ее и не быть, какое то другое имя может быть ) . Так же у меня есть список с разными именами, среди которых есть Онкина Маргарита .
Для упрощения проекта мне бы в переменной XML найти текст из списка с именами, и если нашлось имя то его в результат в переменную, если не нашлось то ошибка ( ну или 0 незнаю как проще или логичнее сделать).
На таком примере мне бы вообще все понятно стало что и откуда берется в C#. Заранее большая благодарность, если что то нужно то я к вашим услугам взаимно
 
Мастер))) научи)) не могу понять еще кое что
Можно ли сравнивать переменную и список? Тоесть для экономии хотелось бы убрать лишние кубики списков, думаю может C# мне поможет этого добиться
В переменной есть XML страницы ( у меня дроид). Там 100500 строк в которых есть имя ( например Онкина Маргарита, но может ее и не быть, какое то другое имя может быть ) . Так же у меня есть список с разными именами, среди которых есть Онкина Маргарита .
Для упрощения проекта мне бы в переменной XML найти текст из списка с именами, и если нашлось имя то его в результат в переменную, если не нашлось то ошибка ( ну или 0 незнаю как проще или логичнее сделать).
На таком примере мне бы вообще все понятно стало что и откуда берется в C#. Заранее большая благодарность, если что то нужно то я к вашим услугам взаимно
C#:
Развернуть Свернуть Копировать
            string inputXML = project.Variables["XML"].Value.ToLower(); //Переменная с XML
            var inputNameList = project.Lists ["nameList"]; //Лист с именами
            string resultName = string.Empty;


            foreach ( var inputName in inputNameList )
            {
                if (inputXML.Contains(inputName.ToLower()))
                {
                    project.SendInfoToLog("Нашли имя: " + inputName,true);
                    resultName = inputName;
                    break;
                }
            }

            if (string.IsNullOrEmpty(resultName))
                throw new Exception("Ничего не нашли.");

            project.Variables["result"].Value = resultName; //Переменная для результата
 
  • Спасибо
Реакции: viktoriyagalkina3535
C#:
Развернуть Свернуть Копировать
            string inputXML = project.Variables["XML"].Value.ToLower(); //Переменная с XML
            var inputNameList = project.Lists ["nameList"]; //Лист с именами
            string resultName = string.Empty;


            foreach ( var inputName in inputNameList )
            {
                if (inputXML.Contains(inputName.ToLower()))
                {
                    project.SendInfoToLog("Нашли имя: " + inputName,true);
                    resultName = inputName;
                    break;
                }
            }

            if (string.IsNullOrEmpty(resultName))
                throw new Exception("Ничего не нашли.");

            project.Variables["result"].Value = resultName; //Переменная для результата


Большое спасибо! Есть результат! Понятно стало как прописывать и переменную и лист. Ну сам код пока для меня не достижим, это вышка. Спасибо супер учитель!!!!
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)