gpt4 book ai didi

javascript - 创建一个接受单词数组作为输入的函数

转载 作者:数据小太阳 更新时间:2023-10-29 05:28:20 24 4
gpt4 key购买 nike

在网上看到这个白板挑战,似乎无法弄清楚。帮助!

创建一个接受单词数组作为输入的函数。

您的函数应该返回一个数组,其中包含所有可以使用字母表中的字母键入的单词,这些字母只能在标准美式 QWERTY 键盘的单行上访问。

例如:

// given
let words = [ 'sup', 'dad', 'tree', 'snake', 'pet'];
keyboardWords(words);

// return
['dad', 'tree', 'pet'];

这就是我的进展。

const topKeys = ['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p'];
const middleKeys = ['a', 's', 'd','f', 'g', 'h', 'j', 'k', 'l'];
const buttomKeys = ['z', 'x', 'c', 'v', 'b', 'n', 'm'];

let result = [];

let words = ['sup', 'dad', 'tree', 'snake', 'pet'];

for(let i in words) {
let eachWord = words[i];

eachWord.split('').forEach(function(c) {
console.log(c);
});

}

我已经到了打印数组中每个单词的地步,但不完全知道使用什么方法来查看单个数组中单词中的每个字母是否是 topKeys、middle Keys 等...

最佳答案

参见 Array.prototype.filter() , Set , Spread Syntax , String.prototype.toLowerCase() , 和 Array.prototype.every()了解更多信息。

// Input.
const input = [
'ERUT', // top match
'wdvrmg', // false
'dsjf', // middle match
'!^#@&^#', // false
'CxmvN', // bottom match
'53454', // false
'' // false
]

// Match.
const match = (A, B) => [...A].every(x => B.has(x.toLowerCase()))

// Line Words.
const lineWords = words => words.filter(word => word.length && (

// Top match.
match(word, new Set(['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p'])) ||

// Middle match.
match(word, new Set(['a', 's', 'd','f', 'g', 'h', 'j', 'k', 'l'])) ||

// Bottom match.
match(word, new Set(['z', 'x', 'c', 'v', 'b', 'n', 'm']))

))

// Output.
const output = lineWords(input)

// Proof.
console.log(output)

关于javascript - 创建一个接受单词数组作为输入的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49764525/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com