Estoy trabajando con una entrada de usuario que debe procesarse según el conjunto de reglas. Usar nools, pero es un dolor de espalda cuando se trata de operaciones de JavaScript ES6 como IIFE, reducción de mapas, ordenación anidada.
Hablar de RETE algo en 2022 puede sonar abrumador, pero es realmente útil y tiene sentido. He estado usando nools (que está en desuso y ya no es compatible, ¡duh!) Y funciona bien cuando define directamente cuando-> entonces.
Pero si quiero hacer alguna operación JS en la salida, a veces se ejecuta y falla a veces. Este comportamiento me hace pensar si estoy haciendo algo mal O si ya no es estable (ya que ahora no se admite activamente)
Lo que estoy tratando de hacer: mis datos tienen un patrón DS muy malo con objetos de matriz anidados y cadenas juntas.
Datos->
const matchOutput = [ { X: ['None'], Y: ['None'], Z: ['1 mg/m3 STEL'], A: ['None'], name: 'AMER' }, { X: [ '2 mg/m3 TWA (as Sn) Inhalable fraction.', '0.2 mg/m3 STEL (as Sn)', '0.1 mg/m3 TWA (as Sn)' ], Y: ['0.1 mg/m3 PEL (as Sn)', '0.1 mg/m3 TWA (as Sn)'], Z: ['None'], A: ['0.1 mg/m3 REL (as Sn)'], name: '2-ethylhexanoate;tin(2+)' }, { X: ['0.5 mg/m3 TWA (as Hf)'], Y: ['None'], Z: ['None'], A: ['0.5 mg/m3 REL (as Hf)'], name: 'Hafnium dioxide' }, { X: ['300 ppm STEL', '200 ppm STEL'], Y: ['200 ppm PEL', '300 ppm PEL-STEL', '200 ppm TWA'], Z: ['None'], A: ['200 ppm REL', '300 ppm REL'], name: 'MEK' } ];Dentro de mi regla de nools, estoy haciendo una operación de clasificación una vez que coincide.
matchOutput.sort(()=>{ exposureControlList.forEach(obj => { for (let key in obj) { if (key !== 'name'){ obj[key].sort((a, b) => b.localeCompare(a, 'en', { numeric: true }))}); } } exposureControlList.sort((a, b) => a.name.localeCompare(b.name, 'en')); return exposureControlList; }); Lo que debería ordenar la matriz interna en valores numéricos desc y la matriz externa en el name de la clave.
Esta función de clasificación funciona bien si en un archivo JS coloca los datos y realiza la función de clasificación anterior, pero en el archivo .nools falla.
Soy relativamente nuevo en nools, así que pocas consultas:
.nools correctamente (no en texto sin formato)Gracias por tu tiempo.