Оператор case in Switch, включающий массив с условиями - PullRequest
0 голосов
/ 15 апреля 2019

У меня есть массив, который должен быть повторен и в зависимости от условия выполнить задачу

Я сделал это с if else и попробовал его с Switch. И условие: if (1 && 2) (затем выполнить A) else if (1) (затем выполнить B) else if (2) (затем выполнить в) иначе, если (нет) (затем выполнить D)

function showFiletRelateddata(selectedFilter) {
  /*if (selectedFilter.length === 0) {
    console.log("No data");
  } else if (
    selectedFilter.includes("Request") &&
    selectedFilter.includes("Reservation")
  ) {
    console.log("RequestReservation");
  } else if (selectedFilter.includes("Request")) {
    console.log("Request");
  } else if (selectedFilter.includes("Reservation")) {
    console.log("Reservation");
  }*/

  var filt = selectedFilter;
  for (var i = 0; i < filt.length; i++) {
    var supp = filt[i];
    switch (supp) {
      case "Request":
      case "Reservation":
        console.log("RequestReservation");
        break;
      case "Request":
        console.log("Request");
        break;
      case "Reservation":
        console.log("Reservation");
        break;
      default:
        console.log("No data");
    }
  }
}

if else работает нормально, однако, что нужно исправить для оператора Switch

Для ref = регистр Javascript с массивом или строками

1 Ответ

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

function showFiletRelateddata(selectedFilter) {
  var filt = selectedFilter;
  var supp = ""
  for (var i = 0; i < filt.length; i++) { //loop over length of array
     supp = supp + filt[i]; // concat elements of array
  }
  
    switch (supp) {
      case "RequestReservation": // if case contains one of the condition
      case "ReservationRequest":
        console.log("RequestReservation");
        break;
      case "Request":
        console.log("Request");
        break;
      case "Reservation":
        console.log("Reservation");
        break;
      default:
        console.log("No data");
    }
  
}
var a = ["Reservation", "Request"];
var b = ["Request","Reservation"];
var c = ["Reservation"];
var d = ["Request"];
 showFiletRelateddata(a);
 showFiletRelateddata(b);
 showFiletRelateddata(c);
 showFiletRelateddata(d);
...