Solved: Replace array-mapped variables with the actual variable name/string?
I'm trying to decode some JS and I've got a good portion of it done, however, I'm stumped here. The code does something like this:
var arr = ["value", "value1", "value2"];
console.log(arr[0]);
Except the file is around 12k lines and there are over 1.4k things in the array.
Is there a way I can replace arr[0] with the actual value of arr[0] (in the example, it would be "value"), then save the file? I tried using RegExp but got nowhere.
Any help will be appreciated.
A simple idea would be having arrays in current scope and use target javascript file content as input string for replace() method:
var arr = ['hello', 'my', 'world']
var str = `
var arr = ['hello', 'my', 'world']
console.log('arr[2]')
console.log('arr[0]')
console.log('arr[1]')
`
console.log(str.replace(/\b(\w+)\[(\d+)]/g, function(match, $p1, $p2) {
return window[$p1][$p2];
}))