Существует ли метод API, который сравнивает содержимое Seq независимо от того, порядка?

Вам не нужны две функции для этого. Просто установите div, соответствующий divId, чтобы он был видимым, а остальные скрывайте. Тогда не имеет значения, сколько раз вы нажмете одну и ту же кнопку, этот div будет показан.

var divs = ["Div1", "Div2", "Div3"];
function divVisibility(divId) {
  for (var div of divs) {
    if (div === divId) {
    	document.getElementById(div).style.display = 'block';
    }
    else {
    	document.getElementById(div).style.display = 'none';
    }
  }
}
<table style="margin-left: auto; margin-right: auto;" border="0" cellpadding="10">
  <tbody>
    <tr>
      <td><button onclick="divVisibility('Div1');">Div1</button></td>
      <td><button onclick="divVisibility('Div2');">Div2</button></td>
      <td><button onclick="divVisibility('Div3');">Div3</button></td>
    </tr>
  </tbody>
</table>

<table>
<div id="Div1">
    Div1 Content
    </div>
    <div id="Div2" style="display: none;">
    Div2 Content
    </div>
    <div id="Div3" style="display: none;">
    Div3 Content
    </div>
</table>

24
задан ssanj 1 September 2010 в 23:44
поделиться

1 ответ

Хотя

l1.sorted == l2.sorted

правильно, производительность во время выполнения равна O (n log n) из-за сортировки. Для больших списков вам, вероятно, лучше с

l1.groupBy(identity) == l2.groupBy(identity)

, который должен быть O (n), при условии достойной реализации groupBy.

10
ответ дан 28 November 2019 в 23:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: