Tengo el siguiente código que toma la subKeyValuesList y elimina valores de ella a medida que el ciclo itera. Sin embargo, esto funciona después de cada ciclo (es una gran matriz que contiene 4 matrices). Quiero que los valores de subKeyValuesList se restablezcan al valor original. A continuación, intenté restablecer aplicando un código a la última iteración de los bucles, pero no me gustó. Creo que puede ser un problema de alcance, pero he tenido problemas para ver dónde está el problema.
var subKeyValuesList = ['0009397b-563f-4dfc-8022-1516dbdffbda','1358d485-69e6-43bb-bc2f-ff25baa6a810'] for (var fi = 0; fi < fields.length; fi++) { var subKeyValuesList2 = subKeyValuesList var fieldSplitTemp = fieldLong.replace(/[`~!@#$%^&*()_|+\=?;:'"<>\{\}\[\]\\\/]/gi, 'x') var fieldSplit = fieldSplitTemp.split("xix.") var fieldCount = fieldSplit.length var arrayPath = fieldSplit.splice(0, fieldCount - 1) for (let i = 0; i < eval(arrayPath[0]).length; i++) { for (let ii = 0; ii < eval(arrayPath[0] + "[i]." + arrayPath[1]).length; ii++) { var keyNames = Object.keys(eval(arrayPath[0] + "[i]." + arrayPath[1] + "[ii]")); var subKeyName = keyNames[0] var parent = eval(arrayPath[0] + "[i]." + arrayPath[1] + "[ii]." + subKeyName) var index = subKeyValuesList2.indexOf(parent); if (index !== -1) { subKeyValuesList2.splice(index, 1) } if (ii == eval(arrayPath[0] + "[i]." + arrayPath[1]).length - 1) { //if last instance in loop do reset spliced list with original subKeyValuesList subKeyValuesList2 = subKeyValuesList } } } }