在字符串中搜索 javascript 中缺少的字母
Searching a string for missing letters of the alphabet in javascript
我正在研究一些代码,它将搜索字符串并返回缺少的任何字母表。这是我所拥有的:
function findWhatsMissing(s){
var a = "abcdefghijklmnopqrstuvwxyz";
//remove special characters
s.replace(/[^a-zA-Z]/g, "");
s = s.toLowerCase();
//array to hold search results
var hits = [];
//loop through each letter in string
for (var i = 0; i < a.length; i++) {
var j = 0;
//if no matches are found, push to array
if (a[i] !== s[j]) {
hits.push(a[i]);
}
else {
j++;
}
}
//log array to console
console.log(hits);
}
但是使用测试用例:findWhatsMissing("d a b c");
导致 d 之前的所有字母被添加到缺少的数组中。
任何帮助将不胜感激。
在你的循环中,你可以使用indexOf()
来查看你的输入中是否存在这个字母。 这样的东西会起作用:
for (var i = 0; i < a.length; i++) {
if(s.indexOf(a[i]) == -1) { hits.push(a[i]); }
}
希望对您有所帮助! 你可以看到它在这个JS小提琴中工作:https://jsfiddle.net/573jatx1/1/
正如Adam Konieska所说。这样的东西会起作用:
function findWhatsMissing(s) {
var a = "abcdefghijklmnopqrstuvwxyz";
s = s.toLowerCase();
var hits = [];
for (var i = 0; i < a.length; i++) {
if(s.indexOf(a[i]) == -1) { hits.push(a[i]); }
}
console.log(hits);
}
findWhatsMissing("d a b c");
可以使用Array.prototype.filter()
,并在每个循环中使用 indexOf()
检查字符串
function findWhatsMissing(s){
var a = "abcdefghijklmnopqrstuvwxyz";
//remove special characters
s = s.replace(/[^a-zA-Z]/g, "");
s = s.toLowerCase();
return a.split('').filter(function(letter){
return s.indexOf(letter) === -1;
});
}
alert( findWhatsMissing('d f v'))
您可以使用 indexOf:
function findWhatsMissing(s){
var a = "abcdefghijklmnopqrstuvwxyz";
//remove special characters
s = s.replace(/[^a-zA-Z]/g, "");
s = s.toLowerCase();
//array to hold search results
var hits = [];
//loop through each letter in string
for (var i = 0; i < a.length; i++) {
//if no matches are found, push to array
if (s.indexOf(a[i]) == -1) {
hits.push(a[i]);
}
}
//log array to console
return hits;
}
alert(JSON.stringify(findWhatsMissing(' d a b c ')));
或两个 for 循环:
function findWhatsMissing(s){
var a = "abcdefghijklmnopqrstuvwxyz";
//remove special characters
s = s.replace(/[^a-zA-Z]/g, "");
s = s.toLowerCase();
//array to hold search results
var hits = [];
//loop through each letter in string
for (var i = 0; i < a.length; i++) {
//if no matches are found, push to array
var found = false;
for (var j = 0; j < s.length; j++) {
if (s[j] == a[i]) {
found = true;
break;
}
}
if (!found) {
hits.push(a[i]);
}
}
//log array to console
return hits;
}
alert(JSON.stringify(findWhatsMissing(' d a b c ')));
function missingchar(str) {
let arr = new Array(26);
let mis_str = '';
Acharcode = 'A'.charCodeAt();
Zcharcode = 'Z'.charCodeAt();
for (i = Acharcode; i <= Zcharcode; i++) {
arr[i] = String.fromCharCode(i).toLowerCase();
}
arr.map((item, index) => {
if (str.indexOf(item) == -1) {
mis_str += item;
}
})
return mis_str;
}
console.log(missingchar('satya'));
相关文章:
- 可变大小的JavaScript字符串如何成为基元类型
- 如何将angularjs中的javascript字符串输出为循环数组
- 如何使用gump任务将html转换为javascript字符串
- 替换变量时,JavaScript字符串replace()不起作用
- 如何替换JavaScript字符串中除字母和数字之外的所有内容(空格/符号)
- 如何从django中的url解析javascript字符串
- 拆分javascript字符串以获得所需的值
- 使用Bootstrap'在Javascript字符串中的popover插件
- 如何替换javascript字符串中的前三个连字符
- 将JavaScript字符串转换为整数
- jquery/javascript字符串中的撇号
- 正在对java中的javascript字符串进行转义
- 如何在Javascript字符串中添加vaule
- Javascript:字符串中有效的基于数组的替换
- 具有负值的Javascript字符串.slice()
- javascript字符串替换$1(如果它是某个值)
- 将子函数的JavaScript字符串转换为实际函数
- JavaScript字符串中的换行符也保存为.txt
- 将Javascript字符串var传递给HTML href标记
- JavaScript 字符串字母和数字检查