【问题标题】:- using charAt I am trying to write a code which should display which word as unique character- 使用 charAt 我正在尝试编写一个代码,该代码应该将哪个单词显示为唯一字符
【发布时间】:2017-04-24 18:04:30
【问题描述】:
  • 我是 js 新手。
  • 使用 charAt 我正在尝试编写一个代码,该代码应该将哪个单词显示为唯一字符。
  • 我使用数组https://jsfiddle.net/at661zsu/实现了
  • 但是如何使用 charAt 来实现。
  • 在下面提供代码
//var wholeWord = "pak";
var wholeWord = "pakk";

for(i=0;  i<wholeWord.length; i++) {
    var firsLoopCharacter = wholeWord.charAt(i);
    var unique = true;


    for(j=0; j<wholeWord.length; j++) {
        var secondLoopCharacter = wholeWord.charAt(j);

        if( i === j)
        {
            continue;
        }

        if( firsLoopCharacter === secondLoopCharacter[j] )  {
            unique = false;     
            break;
        }

    }
}


if (unique) {
    console.log("its an unique string");
}

else {
    console.log("not unique string");
}

【问题讨论】:

  • 为什么需要使用 String::charAt ?
  • @GeorgeSimms 要求我不应该使用数组...你能在我的代码中更新...

标签: javascript jquery html string function


【解决方案1】:

如果你想测试一个字符串是否不包含重复字符,这里有一个使用String.prototype.charAt()的函数:

function isUniqueCharsString(str) {
  var chars = [];
  for (var i = 0; i < str.length; i++) {
    if(chars.indexOf(str.charAt(i))>=0){
        return false;
    }else{
        chars.push(str.charAt(i));
    }
  }
  return true;
}

它遍历字符串字符并将唯一字符存储到一个临时数组中并对其进行测试。

这是一个演示

var wholeWord = "pak";

function isUniqueCharsString(str) {
  var chars = [];
  for (var i = 0; i < str.length; i++) {
    if (chars.indexOf(str.charAt(i)) >= 0) {
      return false;
    } else {
      chars.push(str.charAt(i));
    }
  }
  return true;
}

console.log(isUniqueCharsString(wholeWord));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-08
    • 2013-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多