Но появилась новая проблема. Иногда скрипт во время работы внезапно запрещает выделять действия. Т.е при клике на любое действие, оно просто не выделяется красным. Это второй баг, независимый от первого если что
Изменение глобальной переменной в "Выполнить код"
-
@fox said in Изменение глобальной переменной в "Выполнить код":
val.push(VAR_NEW_LIST2) //добавили один элемент в конец массива
Спасибо, стало на много понятнее, но не до конца. Здесь вы ошиблись, добавили весь второй массив в первую свободную ячейку первого массива:

Не подскажете как добавить не целиком массив в ячейку, а элементы этого массива друг под другом чтобы получилось три вложенных массива:[один, один2], [два, два2], [три, три2] -
@senerg said in Изменение глобальной переменной в "Выполнить код":
Здесь вы ошиблись, добавили весь второй массив в первую свободную ячейку первого массива
Ошибся? Вы просили объединить два массива, что я и сделал.
@senerg said in Изменение глобальной переменной в "Выполнить код":
Не подскажете как добавить не целиком массив в ячейку, а элементы этого массива друг под другом чтобы получилось три вложенных массива:
Пишите алгоритм формирования итогового массива из других массивов как вам угодно
-
@fox said in Изменение глобальной переменной в "Выполнить код":
PSet("basglobal", "GLOBAL_LIST", JSON.stringify(val)) //преобразовали новый массив в строку JSON и записали его в глобальную переменную
В node.js это не работает? Пишет:
PSet is not defined -
@senerg said in Изменение глобальной переменной в "Выполнить код":
В node.js это не работает? Пишет:
Да, это api BAS, в ноде свои глобальные переменные global.arr
-
@senerg said in Изменение глобальной переменной в "Выполнить код":
Стрелочные функции, которыми я хотел обработать массив в обычном коде не работают.
Стрелочные функции можно просто не использовать, поищите на форуме я приводил пример. Или у вас чужой готовый код?
@senerg said in Изменение глобальной переменной в "Выполнить код":
А как в ноде это сделать?
Можете получить глобальную переменную или установить её в ноде просто перетянув действие "установить глобальную переменную" в окно ноды. Либо заранее получать данные в локальную переменную.
-
@fox said in Изменение глобальной переменной в "Выполнить код":
поищите на форуме я приводил пример
-
@fox странно, стрелочные функции убрал, в яваскрипте это работает:
var ar1 = []; ar1[0] = []; ar1[0][0] = 1; ar1[0][1] = 2; ar1[1] = []; ar1[1][0] = 3; ar1[1][1] = 4; var ar2 = []; ar2[0] = []; ar2[0][3] = 5; ar2[0][4] = 6; ar2[1] = []; ar2[1][3] = 7; ar2[1][4] = 8; ar2.forEach(function(subarr, i) { Object.assign(ar1[i], subarr); }); console.log(ar1);А тоже самое в басе не хочет:
var val = JSON.stringify([[FIN_LIST]]); PSet("basglobal", "FIN_LIST", val); val = JSON.parse(P("basglobal", "FIN_LIST")); [[FIN_LIST]].forEach(function(subarr, i) { Object.assign(val[i], subarr); }); PSet("basglobal", "FIN_LIST", JSON.stringify(val));Пишет:
Result of expression 'Object.assign' [undefined] is not a function@allive, перечитал не все, но уже очень многое.
-
@senerg Читайте/ Пришлось по закромам пошарить Дэвид Флэнаган - JavaScript. Подробное руководство (6-е издание) - 2012.pdf
большинство фунциклеров робит в басе из этого. В басе то что работает в хроме 70 не работает. Ну или работает совсем не все так правильнее. -
@senerg У меня? Нет ;-(. Да и курс ли это будет? Тогда вон вдудя ой Дудя чтоль посмотрите, эффект будет такой же.
Просто запомните что в басе на данный момент используется ecmascript 262. Ориентируйтесь на это. Все что кроме по умолчанию считайте не работает. Если сможете запустить то хорошо). Если что то добавится то будет ура и пляски. @Fox давно спрашивал))
