创建一个名为isIsogram的函数,它接受一个参数,一个单词来测试它是否是等值线图。此函数应返回一个布尔值,指示它是否为isogram(true)或不是(false)。以下是相应的代码:
function isIsogram(word){
if (typeof word !== 'string'){
return 'Argument should be a string';
}
if (word === ' '){
return false;
}
else{
for(var i=0; i<word.toLowerCase().length; i++){
if (word.charAt(i)>1){
return false;
}
else{
return true;
}
}
}
}
console.log(isIsogram('Akosombo'));
'Akosombo'应该返回false,但它返回true。
答案 0 :(得分:2)
这在逻辑上是无关紧要的:
import React, { Component } from 'react';
class WeddingPage extends Component {
render() {
return (
<div>
{this.props.match.params.pageName}
</div>
);
}
}
export default WeddingPage;
所有这些评估为word.charAt(i) > 1
:
false
'A' > 1
'k' > 1
'o' > 1
's' > 1
'o' > 1
'm' > 1
'b' > 1
更多提示:
'o' > 1
循环后,您应该只return true
。答案 1 :(得分:0)
根据Wikipedia,等值线图是一个没有重复字母的单词或短语。
所以在这里你必须检查重复的字母。这是我的方法(在您的代码中稍作修改)来检查它是否是isogram?
function isIsogram(word) {
var matches = 0;
var count = 0;
if (typeof word !== 'string') {
return 'Argument should be a string';
}
if (word === ' ') {
return false;
} else {
for (var i = 0; i < word.toLowerCase().length; i++) {
matches = word.match(new RegExp(word.charAt(i), 'gi'));
if (matches.length > 1)
count++;
}
if (count > 0)
return false;
else
return true;
}
}
isIsogram('Akosombo');
结果将用“Akosombo”字样来表示错误,因为它具有重复的字符,即&#39; o&#39;。