在将Python代码实现为Javascript时,我做错了什么?

2024-09-28 01:25:08 发布

您现在位置: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 = 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);

但是,它不起作用!你知道吗


Tags: 代码inlogfordictionaryifvarpush
3条回答

可以使用Array.includes()检查某个元素是否属于数组,然后使用for ... of循环遍历字符串并执行以下操作:

const letter = ['a', 'b', 'c', 'd']; const word = "Black"; for (const char of word) { if (letter.includes(char)) console.log(char); } ; ^{pr2}$ ;

本着函数式python的精神,我建议使用filter,因为它的工作方式类似于python中的filter。这个问题是关于Python和Javascript的,所以:)

var letter = ['a', 'b', 'c', 'd']; var word = "Black"; var filtered = word.split("").filter(x => letter.includes(x)) console.log(filtered)

你真的不需要第二个循环。。只要检查单词[i]是否在字母数组中,就可以使用“includes”或“indexOf”来完成。。你知道吗

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]); if (letter.includes(word[i])) { dictionaryCoincidence.push(dictionary[i]); } } console.log(dictionary); console.log(dictionaryCoincidence);

相关问题 更多 >

    热门问题