Fnykis
11/15/2018 - 10:32 AM

Reverse all arrays inside objects

This was made when using JSON to create a layer structure in Photoshop. The JSON file can be written so that it looks the same as a PS layer structure but a script will start from the beginning, meaning the bottom layer will be created first. This function will read a JSON array and then look for any more arrays inside of the objects. It will reverse all arrays found!

var json = [{ name: "test1", layers: [ name: "testA", name: "testB ] },{ name: "test2", layers: [ name: "testC", name: "testD ] }];
reverseAll(json);

function reverseAll(arr) {
	for (i  = 0; i < arr.length; i++) {
		var obj = arr[i];
		for (var member in obj) {
			if (obj[member].constructor == Array && obj[member].length != 0) reverseAll(obj[member]);
		}
	}
	arr.reverse();
}