Глубокий клон JavaScript 1.5 данных в Photoshop
Как вы глубоко клонируете массив объектов "по-старому". Другими словами, до введения современных методов, нативных методов, таких как JSON.parse, assign, extension или оператор распространения.
Решение для некоторых скриптов Photoshop. Adobe по-прежнему использует JS v1.5 (или ECMAScript 3) - это означает, что любая функциональность JS с 2000 года не является родной. Идеальные решения позволят глубоко клонировать, но избегать определенных объектов Photoshop, таких как "слои" (подробнее об этом в конце).
Альтернативно, легкая библиотека, высмеивающая современную функциональность, будет работать. Я уже пробовал эту реализацию JSON2, но столкнулся со следующей ошибкой:
Error 8450: The operation is not valid for channels of type component.
Я наткнулся на этот ресурс JSON, но руководство показалось мне пугающим, поэтому я еще не продвинулся далеко.
Массив объектов в настоящее время структурирован так:
object = [
{
prop: string,
array: [{layerObject},{layerObject}...]
},
{...},
]
В идеале все вышеперечисленное, за исключением layerObjects, должно быть клонировано. Объекты layerObject не следует клонировать, поскольку они являются ссылками на экранные элементы Photoshop, которые необходимо отслеживать и манипулировать ими.