javascript来计算单词的总和
在一个html脚本中,我插入了一个src java脚本,并创建了id为square1的表…例如javascript来计算单词的总和,javascript,html,Javascript,Html,在一个html脚本中,我插入了一个src java脚本,并创建了id为square1的表…例如apple 我希望javascript显示html文件中单词中字母的总和。比如如果a是1,b是2,c是3,d是4…z是26,那么苹果是50,胡萝卜是75,依此类推。我希望输出像苹果50,胡萝卜75,黄色92 我尝试的java脚本是 var a = 1; var b = 2; ... ... var z = 26; var addWord = new Array(1); addWord[1] = "app
apple代码>
我希望javascript显示html文件中单词中字母的总和。比如如果a是1,b是2,c是3,d是4…z是26,那么苹果是50,胡萝卜是75,依此类推。我希望输出像苹果50,胡萝卜75,黄色92
我尝试的java脚本是
var a = 1;
var b = 2;
...
...
var z = 26;
var addWord = new Array(1);
addWord[1] = "apple";
var square01 = 1 + 16 + 16 + 12 + 5;
function() {
var total = 0;
for (var i = 0; i < word.length; i++)
total += alphabet[word[i]];
document.getElementById(square0).innerHTML;
}
}
var a=1;
var b=2;
...
...
var z=26;
var addWord=新数组(1);
addWord[1]=“苹果”;
var square01=1+16+16+12+5;
函数(){
var合计=0;
for(变量i=0;i
非常感谢
任何帮助都可以。您可以这样计算一个单词的总和:
var word = "apple";
var sum = 0;
for (var i = 0; i < word.length; ++i) {
sum += word.charAt(i).toLowerCase().charCodeAt(0) - 96;
}
//sum is 50
var word=“苹果”;
var总和=0;
对于(变量i=0;i
您可以这样计算一个单词的总和:
var word = "apple";
var sum = 0;
for (var i = 0; i < word.length; ++i) {
sum += word.charAt(i).toLowerCase().charCodeAt(0) - 96;
}
//sum is 50
var word=“苹果”;
var总和=0;
对于(变量i=0;i
使用.charCodeAt()
获取字符的ASCII值。你可以从结果中减去96得到a=1,b=2
例如:
var word=“苹果”;
var总和=0;
for(变量i=0;i
如果你想处理大写字母,你必须做一些检查 使用.charCodeAt()
获取字符的ASCII值。你可以从结果中减去96得到a=1,b=2
例如:
var word=“苹果”;
var总和=0;
for(变量i=0;i
如果你想处理大写字母,你必须做一些检查 这是您需要的
var word = "Apple"
var sum = 0;
word.toUpperCase().split('').forEach(function(alphabet) {
sum += alphabet.charCodeAt(0) - 64;
});
console.log(sum);
在计算机中,字符被视为具有特定值的数字常量
比如65-“A”,66-“B”,97-“A”,98-“B”
我们在这里做的是将单词转换成大写字母后,将其拆分为字符
“A”、“p”、“p”、“L”、“E”
然后我们通过charCodeAt(0)调用找出每个字符的值。然后我们从中减去64,这样我们就可以根据您的要求得到字符的值
A->65-64=1
B->66-64=2
等等。这是您需要的
var word = "Apple"
var sum = 0;
word.toUpperCase().split('').forEach(function(alphabet) {
sum += alphabet.charCodeAt(0) - 64;
});
console.log(sum);
在计算机中,字符被视为具有特定值的数字常量
比如65-“A”,66-“B”,97-“A”,98-“B”
我们在这里做的是将单词转换成大写字母后,将其拆分为字符
“A”、“p”、“p”、“L”、“E”
然后我们通过charCodeAt(0)调用找出每个字符的值。然后我们从中减去64,这样我们就可以根据您的要求得到字符的值
A->65-64=1
B->66-64=2
以此类推。这适用于字母“a”。“z”:
函数calcAlpha(){
var word=document.getElementById(“square0”).childNodes[0]。数据;
var总和=0;
对于(var i=word.length-1;i>=0;i--){
总和+=(字字符编码(i)-96);
}
document.getElementById(“display”).innerHTML=sum;
}
苹果
计算
这适用于字母“a”和“z”:
函数calcAlpha(){
var word=document.getElementById(“square0”).childNodes[0]。数据;
var总和=0;
对于(var i=word.length-1;i>=0;i--){
总和+=(字字符编码(i)-96);
}
document.getElementById(“display”).innerHTML=sum;
}
苹果
计算
更具可读性,但这是使用reduce
的方法;略短一些,但javascript语法不清楚0
是sum
的初始值:
'Apple'.toUpperCase().split('').reduce(
function(sum,letter){ return sum + letter.charCodeAt(0)-64 },
0
)
更具可读性,但这是如何使用reduce
;略短一些,但javascript语法不清楚0
是sum
的初始值:
'Apple'.toUpperCase().split('').reduce(
function(sum,letter){ return sum + letter.charCodeAt(0)-64 },
0
)
第二个参数(index
)可以省略。您可以在这里使用.forEach
,因为它更具语义。实际上根本没有映射数组。甚至比forEach更好,编写一个函数sum
,对列表求和,并将其与map一起使用。更少的变量=好。@RadekSlupik实际上.reduce
就是为了这个,但是它的代码要多得多var sum=word.toUpperCase().split(“”).map(函数(cur){return cur.charCodeAt(0)-64;}).reduce(函数(prev,cur){return prev+cur;})
这里有一个使用reduce
的实现:(我包括.match(/[A-Z]/g)
来只选择alphas)。第二个参数(index
)可以省略。您可以在这里使用.forEach
,因为它更具语义。实际上根本没有映射数组。甚至比forEach更好,编写一个函数sum
,对列表求和,并将其与map一起使用。更少的变量=好。@RadekSlupik实际上.reduce
就是为了这个,但是它的代码要多得多var sum=word.toUpperCase().split(“”).map(函数(cur){return cur.charCodeAt(0)-64;}).reduce(函数(prev,cur){return prev+cur;})代码>这里有一个使用reduce
的实现:(我包括了.match(/[A-Z]/g)
来只选择alphas)。@Abhishek这有点苛刻。哇……这就是我要找的……酷……我不知道说什么……但是thankyou@Abhishek有点苛刻哇…这就是我要找的,…酷..我不知道该说什么..但是谢谢