Как мне создать массив в Javascript с разными значениями в каждой переменной?
Не уверен, что вопрос объясняет это очень хорошо, но я хочу поместить эти фильтры Tone.JS в массив. Проблема заключается в том, что все они имеют разные значения частоты и усиления, и в конечном итоге также будут иметь разные значения Q.
Проверьте мой код ниже и дайте мне знать, если это выполнимо. Любая помощь приветствуется, спасибо!
var noise = new Tone.Noise();
for (counter = 0; counter < 6; counter+=1) {
var hipass[counter] = new Tone.Filter();
}
for (counter = 0; counter < 6; counter+=1) {
var lowpass[counter] = new Tone.Filter();
}
var hipass1 = new Tone.Filter(8, "highpass", -12, -77.8);
var hipass2 = new Tone.Filter(16, "highpass", -12, -56.7);
var hipass3 = new Tone.Filter(31.5, "highpass", -12, -39.4);
var hipass4 = new Tone.Filter(63, "highpass", -12, -26.2);
var hipass5 = new Tone.Filter(125, "highpass", -12, -16.1);
var hipass6 = new Tone.Filter(250, "highpass", -12, -8.6);
var lowpass1 = new Tone.Filter(500, "lowpass", -12, -3.2);
var lowpass2 = new Tone.Filter(1000, "lowpass", -12);
var lowpass3 = new Tone.Filter(2000, "lowpass", -12, 1.2);
var lowpass4 = new Tone.Filter(4000, "lowpass", -12, 1.0);
var lowpass5 = new Tone.Filter(8000, "lowpass", -12, -1.1);
var lowpass6 = new Tone.Filter(1200, "lowpass", -12, -6.6);
noise.chain(hipass[counter], lowpass[counter], Tone.Master);
noise.volume = -20;
noise.stop();
1 ответ
Решение
Используйте JavaScript .push()
метод для добавления новых значений в ваш массив:
var noise = new Tone.Noise();
var hipass[counter] = new Array();
var lowpass[counter] = new Array();
hipass.push(new Tone.Filter(8, "highpass", -12, -77.8));
hipass.push(new Tone.Filter(16, "highpass", -12, -56.7));
hipass.push(new Tone.Filter(31.5, "highpass", -12, -39.4));
hipass.push(new Tone.Filter(63, "highpass", -12, -26.2));
hipass.push(new Tone.Filter(125, "highpass", -12, -16.1));
hipass.push(new Tone.Filter(250, "highpass", -12, -8.6));
lowpass.push(new Tone.Filter(500, "lowpass", -12, -3.2));
lowpass.push(new Tone.Filter(1000, "lowpass", -12));
lowpass.push(new Tone.Filter(2000, "lowpass", -12, 1.2));
lowpass.push(new Tone.Filter(4000, "lowpass", -12, 1.0));
lowpass.push(new Tone.Filter(8000, "lowpass", -12, -1.1));
lowpass.push(new Tone.Filter(1200, "lowpass", -12, -6.6));
noise.chain(hipass[counter], lowpass[counter], Tone.Master);
noise.volume = -20;
noise.stop();