Нахождение значения массива? - PullRequest
0 голосов
/ 15 апреля 2020

Я кодирую секвенсор, который позволяет вам выбирать, какой звук вы хотите перенести в разные части кода. Я использую массив, который содержит значение идентификатора звука, и если выбран другой звук, массив сбрасывается и значение изменяется. Первоначально я думал, что использование этого фрагмента будет работать, чтобы проверить, какой звук был выбран:

    if(sounds == 1){
    //insert effect of sound value
    }

Но это ничего не сделало. Затем я попытался:

   sounds == [1];

, но это никак не повлияло. Какой код следует использовать при попытке выполнить код на основе значения массива с одним элементом (если это имеет смысл)?

Ответы [ 3 ]

3 голосов
/ 15 апреля 2020

Насколько я понимаю ваше беспокойство, вы хотите проверить значение внутри массива, верно? Таким образом, вы можете проверить значения массива, используя метод includes().

Как:

sounds = [1,2,3,4,5,6];

if(sounds.includes(1)) {
   //insert effect of sound value
} else {
   // Do else thing here.
}

Это может решить вашу проблему.

1 голос
/ 15 апреля 2020

Во-первых, записывая sounds == 1, вы проверяете, равен ли size массива "sounds" 1 или нет.

Чтобы получить доступ к значению самого элемента массива, используйте:

sounds[0] == n

Счетчик в массиве начинается с 0, а последним элементом будет длина массива sounds.length - 1

Теперь, если я правильно понял ваш вопрос сам и вы хотите вывести определенный звук в зависимости от того, какой элемент выбран из массива, вы можете использовать Switch / Case. Сначала выполните итерацию по массиву, используя for l oop. Затем объявите Switch() выражение. Затем напишите, какой тип вывода / действия должен произойти, когда произойдет case.

for (int i = 0; i < values.length; i++) {
   Switch (sounds[i]) {                    
      case 1:              // imagine sound ID is 1                                  
         //output code     // this code will get executed     
         break;                 
      case 2:              // sound ID is 2
         //output code     // this code will get executed
         break;
      case 3:              // sound ID is 2
         //output code     // this code will get executed
         break;
   }
}
0 голосов
/ 15 апреля 2020

Исходя из нашего вопроса, вы говорите, что у вас есть массив звуковых значений. Я думаю, это выглядит как

var sounds = ["1"]

Если это так, вы можете сделать sounds.includes("1"), чтобы увидеть его "1" присутствует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...