Thank you to everyone for your helpful comments. This isn't a programming language I have used much before so the little things become frustratingly invisible.
Below is the code that achieves my desired output for any future reference:
unsigned long previousMillisLED10 = 0; //millis() returns an unsigned long
unsigned long previousMillisLED11 = 0; //millis() returns an unsigned long
unsigned long intervalLED10 = 100; //time needed to wait (ms) - 10 Hz
unsigned long intervalLED11 = 1; //1 kHz
boolean LED10State = false; //state variable for LED
boolean LED11State = false;
int ledPin1;
int ledPin2;
void setup() {
// put your setup code here, to run once
Serial.begin(9600);
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
int myPins[]={10, 11};
randomSeed(analogRead(A0));
ledPin1 = myPins[random(0,2)];
if(ledPin1 == 10){
ledPin2 = 11;}
else if (ledPin1 == 11){
ledPin2 = 10;}
Serial.print("Pin 1: " );
Serial.println(ledPin1);
Serial.print("Pin 2: " );
Serial.println(ledPin2);
}
void loop() {
// put your main code here, to run repeatedly:
unsigned long currentMillis = millis(); //grab current time
//toggle LED10
if ((unsigned long)(currentMillis-previousMillisLED10)>= intervalLED10){
LED10State =!LED10State; //toggles the state
digitalWrite(ledPin1, LED10State); //sets the LED based on ledState
//save the 'current' time to pin 10's previousMillis
previousMillisLED10 = currentMillis;
}
//toggle LED11
if ((unsigned long)(currentMillis-previousMillisLED11)>= intervalLED11){
LED11State =!LED11State; //toggles the state
digitalWrite(ledPin2, LED11State); //sets the LED based on ledState
//save the 'current' time to pin 11's previousMillis
previousMillisLED11 = currentMillis;
}
}