// 二次元配列データ
let data = [
  ["オフライン", "101号室", "ネット"],
  ["オフライン", "101号室", "電話"],
  ["オフライン", "102号室", "ネット"],
  ["オフライン", "103号室", "電話"],
  ["オフライン", "103号室", "テレビ"]
];

// 世帯数の断の数をカウントし、マンションの状態を判定する関数
function checkStatus(data) {
  // オンラインの世帯数を初期化
  let onlineCount = 0;
  // 配列の長さを取得
  let length = data.length;
  // 配列をループしてオンラインの世帯数をカウント
  for (let i = 0; i < length; i++) {
    // 配列の要素を取得
    let element = data[i];
    // オンラインかどうか判定
    if (element[0] === "オンライン") {
      // オンラインならカウントアップ
      onlineCount++;
    }
  }
  // マンションの状態を初期化
  let status = "";
  // オンラインの世帯数によってマンションの状態を判定
  if (onlineCount === 0) {
    // オンラインの世帯数が0なら全断
    status = "マンション全断";
  } else if (onlineCount === length) {
    // オンラインの世帯数が配列の長さと同じなら復旧
    status = "復旧";
  } else {
    // オンラインの世帯数がそれ以外なら一部断
    status = "一部断";
  }
  // コンソールに結果を表示
  console.log("オンラインの世帯数: " + onlineCount);
  console.log("マンションの状態: " + status);
}

// 関数を実行
checkStatus(data);