Как я обертываю выбор с HTML-тэгом в Visual Studio?

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

it 'используется при вызове sortPeoples ([' array ',' of ',' properties '], reverse = false)

///////////////////////example array of peoples ///////////////////////

var peoples = [
    {name: "Zach", surname: "Emergency", age: 1},
    {name: "Nancy", surname: "Nurse", age: 1},
    {name: "Ethel", surname: "Emergency", age: 1},
    {name: "Nina", surname: "Nurse", age: 42},
    {name: "Anthony", surname: "Emergency", age: 42},
    {name: "Nina", surname: "Nurse", age: 32},
    {name: "Ed", surname: "Emergency", age: 28},
    {name: "Peter", surname: "Physician", age: 58},
    {name: "Al", surname: "Emergency", age: 58},
    {name: "Ruth", surname: "Registration", age: 62},
    {name: "Ed", surname: "Emergency", age: 38},
    {name: "Tammy", surname: "Triage", age: 29},
    {name: "Alan", surname: "Emergency", age: 60},
    {name: "Nina", surname: "Nurse", age: 58}
];



//////////////////////// Sorting function /////////////////////
function sortPeoples(propertyArr, reverse) {
        function compare(a,b) {
            var i=0;
            while (propertyArr[i]) {
                if (a[propertyArr[i]] < b[propertyArr[i]])  return -1;
                if (a[propertyArr[i]] > b[propertyArr[i]])  return 1;
                i++;
            }
            return 0;
            }
        peoples.sort(compare);
        if (reverse){
            peoples.reverse();
        }
    };

////////////////end of sorting method///////////////
function printPeoples(){
  $('#output').html('');
peoples.forEach( function(person){
 $('#output').append(person.surname+" "+person.name+" "+person.age+"<br>");
} )
}
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
  <html>
  <body>
<button onclick="sortPeoples(['surname']); printPeoples()">sort by ONLY by surname ASC results in mess with same name cases</button><br>
<button onclick="sortPeoples(['surname', 'name'], true); printPeoples()">sort by surname then name DESC</button><br>
<button onclick="sortPeoples(['age']); printPeoples()">sort by AGE ASC. Same issue as in first case</button><br>
<button onclick="sortPeoples(['age', 'surname']); printPeoples()">sort by AGE and Surname ASC. Adding second field fixed it.</button><br>
        
    <div id="output"></div>
    </body>
  </html>

103
задан dansays 10 October 2008 в 15:28
поделиться

3 ответа

Когда сталкивающийся с этой ситуацией, я часто ввожу закрывающий тэг сначала, тогда открывающий тэг. Это препятствует тому, чтобы IDE "помог" путем вставки закрывающего тэга, где я не хочу его. Я также интересуюсь лучшим решением, все же.

7
ответ дан tvanfosson 5 November 2019 в 11:14
поделиться

Ничто я знаю, но пишу макрос для обертывания его в любой тег, который Вы хотите, не должно быть твердым. У меня есть подобный, который обернет мой выбор в блок региона.

2
ответ дан Ian Jacobs 5 November 2019 в 11:14
поделиться

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

  1. Выберите код, который вы хотите окружить.
  2. Выполните ctrl-k ctrl-s (или щелкните правой кнопкой мыши и выберите Окружить с помощью ... .
  3. Можно выбрать множество фрагментов HTML из.

Вы можете создать свои собственные фрагменты SurroundsWith, если вы не нашли то, что ищете:

  1. Щелкните File , а затем щелкните New и выберите тип файла из XML .
  2. В меню Файл нажмите Сохранить .
  3. В поле Сохранить как выберите ] Все файлы (*. *) .
  4. В поле Имя файла введите имя файла с расширением .snippet .
  5. Щелкните Сохранить .

Введите в XML-файл что-то вроде следующего примера:

<CodeSnippet Format="1.1.0" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <Header>
    <Title>ul-div</Title>
    <Author>Microsoft Corporation</Author>
    <Shortcut>ul>li</Shortcut>
    <Description>Wrap in a ul and then an li</Description>
    <SnippetTypes>
      <SnippetType>Expansion</SnippetType>
      <SnippetType>SurroundsWith</SnippetType>
    </SnippetTypes>
  </Header>
  <Snippet>
    <Declarations>
      <Literal>
        <ID>selected</ID>
        <ToolTip>content</ToolTip>
        <Default>content</Default>
      </Literal>
    </Declarations>
    <Code Language="html"><![CDATA[<ul><li>$selected$</li></ul>$end$]]></Code>
  </Snippet>
</CodeSnippet>
  1. Открыть Инструменты > Диспетчер фрагментов кода .
  2. Щелкните Импортируйте и перейдите к только что созданному фрагменту.
  3. Отметьте Мои фрагменты HTML и нажмите Готово , а затем ОК .

После этого у вас будет новый блестящий фрагмент HTML, в который можно обернуть материал!

65
ответ дан 24 November 2019 в 04:15
поделиться
Другие вопросы по тегам:

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