Ich habe einige Untersuchungen zu diesem Thema durchgeführt. Ich versuche, eine Reihe von berechneten Werte zu manipulieren, die wie folgt in der Konsole aussieht:Entfernen von Objekten in einem Objekt in einem Array Javascript
{nodeVoltages: Array(11), totalPower: Array(1), xlength: Array(11)}
nodeVoltages: Array(11)
0:48
1:47.71306060387108
2:47.250273223993105
3:46.59686907269243
4:45.71876416434013
5:44.53304242029258
6:42.745236969423615
7:Complex {re: 40.38334500994142, im:1.919295696316476, __ember1513267958317: "ember368"}
8:Complex { re:39.55961661806138, im:3.8933604519196416, __ember1513267958317: "ember369"}
Dieses Array dynamisch durch einige mathematische erstellt ist, dass ich mit so habe kommen gibt es keine Eingangsdaten, die ich kann dir geben. Ich versuche, die über Array wie folgt aussehen zu lassen:
{nodeVoltages: Array(11), totalPower: Array(1), xlength: Array(11)}
nodeVoltages: Array(11)
0:48
1:47.71306060387108
2:47.250273223993105
3:46.59686907269243
4:45.71876416434013
5:44.53304242029258
6:42.745236969423615
7:40.38334500994142
8:39.55961661806138
Mit mathjs konnte ich meine Ausdrücke auswerten und dynamisch die Werte in ein Array mit dem Array.push Befehl hinzufügen und sie anzuzeigen. Mein Code bricht jedoch, sobald die imaginären Werte in den Ergebnissen meines Arrays auftauchen.
Wie kann ich diese imaginären Zahlen aus meinem Array entfernen? Mit anderen Worten, ich muss die "im:" - Teile der Werte entfernen, wenn sie erscheinen, bevor ich sie in das angezeigte Array schiebe.
Ich habe versucht, dies mit einigem Code zu tun, die ich von einer früheren Antwort auf jemandem andere Frage (How do I remove a particular element from an array in JavaScript?) Spleiß Befehl wie folgt gefunden:
var nodeVoltage2 = parser.eval(expression2);
//checks if there are imaginary values and removes them
if ("im" in nodeVoltage2) {
nodeVoltage2.splice(2,1)
}
//adds value to result array for analysis
nodeVoltages.push(nodeVoltage2);
aber es gibt in der Konsole, die „im nicht definiert ist“ .
Jede Hilfe wird sehr geschätzt!
Bitte teilen Sie Ihre Eingabedaten im JSON-Format und erwartete Ausgabe. –
Sie versuchen, "Eigenschaften" der Objekte zu entfernen, und Sie müssen ihre Schlüssel als Zeichenfolgen adressieren ("im"). – isherwood
In diesem Fall ist 'im' nicht definiert. Du definierst es nie irgendwo, dennoch nennst du einen Vergleich dazu. Du könntest etwas wie "if" im "in nodeVoltage2" machen, was überprüfen würde, ob nodeVoltage2 einen Schlüssel mit dem Namen 'im' – chrisz