Как хранить алфавиты в локальном хранилище вместо clickcount в Javascript? - PullRequest
0 голосов
/ 07 января 2019

Я создаю некоторый динамический элемент управления и хочу назначить ему идентификатор из локального хранилища. Работает нормально, но вместо нового номера я хочу назначить алфавит (например, A, B) для вновь созданного элемента управления. Возможно ли добиться этого через javascript?

function nextNumber() {
  if (typeof (Storage) !== "undefined") {
    if (localStorage.clickcount) {
      localStorage.clickcount = Number(localStorage.clickcount) + 1;
    } else {
      localStorage.clickcount = 1;
    }
    Increment = localStorage.clickcount;

  } else {

  }
}

elem.setAttributeNS(null, "id", "ID " + Increment)//assigning id

Ответы [ 2 ]

0 голосов
/ 07 января 2019

Вы можете сделать что-нибудь, используя буквы алфавита, и использовать функцию charAt , например:

let alphab="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
function nextNumber() {
  if (typeof (Storage) !== "undefined") {
    if (localStorage.clickcount) {
      localStorage.clickcount = Number(localStorage.clickcount) + 1;
    } else {
      localStorage.clickcount = 1;
    }
    Increment = localStorage.clickcount;

  } else {

  }
}

elem.setAttributeNS(null, "id", "ID " + alphab.charAt(Increment))//assigning id

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

0 голосов
/ 07 января 2019

Вот неподтвержденный пример, как вы можете это сделать:

function nextNumber() {
  if (typeof (Storage) !== "undefined") {
    if (localStorage.clickcount) {
      var indx = localStorage.clickcount.charCodeAt(0) - 65; // Get ascii value from char
      localStorage.clickcount = String.fromCharCode(indx + 1);
    } else {
      localStorage.clickcount = "A"; // "A" has ascii value 65
    }
    Increment = localStorage.clickcount;

  } else {

  }
}

elem.setAttributeNS(null, "id", "ID " + Increment) //assigning id

В основном вы должны использовать числа от 65 и выше (те, которые представляют значения ASCII символов, начиная с A). Имея это в виду, когда вы сохраняете начальный счетчик, он должен указывать на «A», то есть 65. При увеличении вы должны преобразовать этот символ обратно в значение ASCII, увеличить его на 1 и преобразовать обратно в символ.

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