Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我需要在js中创建更好的word calc函数 我现在正在学习JS。我解决了这个问题,但我不喜欢我写的答案。 你能给我一个更好的解决方案,让它变得更好吗? 拼字计算器_Javascript - Fatal编程技术网

Javascript 我需要在js中创建更好的word calc函数 我现在正在学习JS。我解决了这个问题,但我不喜欢我写的答案。 你能给我一个更好的解决方案,让它变得更好吗? 拼字计算器

Javascript 我需要在js中创建更好的word calc函数 我现在正在学习JS。我解决了这个问题,但我不喜欢我写的答案。 你能给我一个更好的解决方案,让它变得更好吗? 拼字计算器,javascript,Javascript,执行word_calc方法返回正确的拼字游戏单词分数。分数已经设置好供您使用,并在字典中进行管理: 一个点的值=[“a”、“e”、“i”、“o”、“u”、“l”、“n”、“r”、“s”、“t”]; 两个_点_值=[“d”,“g”]; 三个点的值=[“b”、“c”、“m”、“p”]; 四个点的值=[“f”、“h”、“v”、“w”、“y”]; 五个点的值=[“k”]; 八个_点_值=[“j”,“x”]; 十个点的值=[“z”,“q”]; word_calc(“zoo”)//12 word_calc

执行word_calc方法返回正确的拼字游戏单词分数。分数已经设置好供您使用,并在字典中进行管理:


一个点的值=[“a”、“e”、“i”、“o”、“u”、“l”、“n”、“r”、“s”、“t”];
两个_点_值=[“d”,“g”];
三个点的值=[“b”、“c”、“m”、“p”];
四个点的值=[“f”、“h”、“v”、“w”、“y”];
五个点的值=[“k”];
八个_点_值=[“j”,“x”];
十个点的值=[“z”,“q”];
word_calc(“zoo”)//12
word_calc(“总线”)//5
我的密码

虚词计算(word){
var-inputArr=word.split(“”);
var countArr=[];
var dataArr=[一个点的值,两个点的值,三个点的值,四个点的值,五个点的值,八个点的值,十个点的值];
var合计=0;
函数和(数组){
var countArr=[];
var总和=0;
if(数组[0]==一个\u点\u值[0]){
对于(设i=0;i{
总和(ele);
})
返回总数;
}

首先创建所有字符点对象。然后在传递的函数中获得每个字符的点数,并对所有字符求和

const char\u points={
“a”:1,
“e”:1,
"一":,
“o”:1,
“u”:1,
“l”:1,
“n”:1,
“r”:1,
“s”:1,
“t”:1,
“d”:2,
“g”:2,
“b”:3,
“c”:3,
“m”:3,
“p”:3,
“f”:4,
“h”:4,
“v”:4,
“w”:4,
“y”:4,
“k”:5,
“j”:8,
“x”:8,
“z”:10,
“问题”:10
};
常数减速机=(累加器,电流值)=>累加器+电流值;
虚词计算(w){
//将字符串数组转换为相关数字
常量拆分数组=w.split(“”).map(函数(项){
返回字符点[项目]
});
//您可以使用简单循环对数组进行求和,也可以使用reduce对数组进行求和
const total=拆分的数组.reduce(reducer);
console.log(总计)
}
word_calc(“zoo”)//12

word_calc(“bus”)//5
在@kaushik的回答中有一点增强。减少了一个额外循环的使用

const char\u points={
“a”:1,
“e”:1,
"一":,
“o”:1,
“u”:1,
“l”:1,
“n”:1,
“r”:1,
“s”:1,
“t”:1,
“d”:2,
“g”:2,
“b”:3,
“c”:3,
“m”:3,
“p”:3,
“f”:4,
“h”:4,
“v”:4,
“w”:4,
“y”:4,
“k”:5,
“j”:8,
“x”:8,
“z”:10,
“问题”:10
};
虚词计算(w){
设total=0;
//将字符串数组转换为相关数字,并将其添加到总数中
w、 拆分(“”)。映射(函数(项){
总计+=字符点数[项目];
});
console.log(总计)
}
word_calc(“zoo”)//12
word_calc(“zoozoo”)//24

word_calc(“bus”)//5
更精确的使用方法。非常感谢!但我不知道如果不把数组转换成obj它是如何工作的,这是给我们的。。。