Имейте массив, настроенный с помощью a[letter][occurences]
, но изо всех сил пытайтесь пройти через этот массив, чтобы проверить на occurences > 1
и удалить те, которые есть.Javascript: Определите, являются ли все символы в строке уникальными, а если нет, удалите повторяющиеся символы.
function charFreq(s) {
var i, j;
var a = new Array();
for (j = 0; j < s.length; j++) {
for (i = 0; i < a.length; i++) {
if (a[i][0] == s[j]) {
a[i][1]++;
break;
}
}
if (i == a.length) {
a[i] = [s[j], 1];
}
}
return a[i][0];
}
document.write(charFreq("insert string here"));
Это беспорядок я придумал до сих пор:
function check(str) {
var c;
for (c=0; c < a.length; c++) {
if(a[c][1] == 1) {
return true;
break;
} else {
return false;
}
}
}
, если бы я был сделать массив для дублирующихся подсчитываются отдельно, будет ли это быть помещено в заявлении еще? Или я хочу создать новую функцию? – JSNewb
@JSNewb эта функция возвращает новый массив.Он может быть изменен, чтобы также вернуть карту, а карта будет содержать подсчеты. (Его можно было бы преобразовать в массив, если бы вы этого захотели.) – Pointy