我';在将Python代码实现为Javascript时,我做错了吗?
我有下一个python代码:我';在将Python代码实现为Javascript时,我做错了吗?,javascript,python,Javascript,Python,我有下一个python代码: letter = ['a', 'b', 'c', 'd'] word = "Black" for i in word: if i in letter: print(i) 因此,我在JS中也尝试这样做: var letter = ['a', 'b', 'c', 'd']; var word = "Black"; var dictionary = []; var dictionaryCoincidence = []; for (var i =
letter = ['a', 'b', 'c', 'd']
word = "Black"
for i in word:
if i in letter:
print(i)
因此,我在JS中也尝试这样做:
var letter = ['a', 'b', 'c', 'd'];
var word = "Black";
var dictionary = [];
var dictionaryCoincidence = [];
for (var i = 0; i < word.length; i++) {
dictionary.push(word[i]);
}
for (var i = 0; i < dictionary.length; i++) {
if (dictionary[i] == letter[i]) {
dictionaryCoincidence.push(dictionary[i]);
}
}
console.log(dictionary);
console.log(dictionaryCoincidence);
var字母=['a','b','c','d'];
var word=“黑色”;
var字典=[];
var DictionaryConcidence=[];
for(变量i=0;i
但是,它不起作用 你真的不需要第二个循环。。只需检查单词[i]是否在字母数组中,就可以使用“includes”或“indexOf”来完成
var字母=['a','b','c','d'];
var word=“黑色”;
var字典=[];
var DictionaryConcidence=[];
for(变量i=0;i您可以使用检查某个元素是否属于数组,然后使用循环遍历字符串并执行以下操作:
var letter = ['a', 'b', 'c', 'd'];
var word = "Blackd";
var dictionary = [];
var dictionaryCoincidence = [];
for (var i = 0; i < word.length; i++) {
dictionary.push(word[i]);
}
for (var i = 0; i < dictionary.length; i++) {
for(var j = 0; j < letter.length ; j++){
if (dictionary[i] == letter[j]) {
dictionaryCoincidence.push(dictionary[i]);
}
}
}
console.log(dictionary);
console.log(dictionaryCoincidence);
const-letter=['a','b','c','d'];
const word=“黑色”;
for(单词的常量字符)
{
if(字母包括(字符))
console.log(char);
}
.as控制台{背景色:黑色!重要;颜色:石灰;}
.作为控制台包装{max height:100%!important;top:0;}
本着函数式python的精神,我建议使用filter
,因为它的工作原理与python中的filter
类似。问题在于Python和Javascript,所以:)
var字母=['a','b','c','d'];
var word=“黑色”;
var filtered=word.split(“”).filter(x=>letter.includes(x))
console.log(已过滤)
必须使用两个循环:
一个循环用于字典,一个循环用于这样的字母:
var letter = ['a', 'b', 'c', 'd'];
var word = "Blackd";
var dictionary = [];
var dictionaryCoincidence = [];
for (var i = 0; i < word.length; i++) {
dictionary.push(word[i]);
}
for (var i = 0; i < dictionary.length; i++) {
for(var j = 0; j < letter.length ; j++){
if (dictionary[i] == letter[j]) {
dictionaryCoincidence.push(dictionary[i]);
}
}
}
console.log(dictionary);
console.log(dictionaryCoincidence);
var字母=['a','b','c','d'];
var word=“Blackd”;
var字典=[];
var DictionaryConcidence=[];
for(变量i=0;i
尝试将第二个循环更改为
for (var i = 0; i < dictionary.length; i++) {
if (letter.includes(dictionary[i])) {
dictionaryCoincidence.push(dictionary[i]);
}
}
for(var i=0;i
您需要检查字典[i]是否在字母数组中,而不是它是否等于字母[i]
它给出了结果[a,c]。B不包括在内,因为它是大写的。
如果需要字母B,请将字典[i]转换为小写
您可以使用letter.indexOf方法而不是includes()。
因此,条件字母.indexOf(dictionary[i])>-1也可以工作
在JS中,应该使用两个来进行循环。首先迭代字典
,第二次迭代字母
,因为单词中的i是的(单词的变量i)
,i在字母中的等价物是字母。包括(i)
变量字母=['a','b','c','d'];var word=“黑色”;word.split(“”).filter(x=>letter.includes(x))
在for循环中,您正在比较if(dictionary[i]==letter[i])
。只有当字典
和单词
在相同的位置有相同的字母时,这才是正确的。非常感谢!哇!看起来很棒@VladislavDunaev请选择最能回答您问题的答案,并单击答案左侧的灰色复选标记