Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.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来计算单词的总和_Javascript_Html - Fatal编程技术网

javascript来计算单词的总和

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

在一个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] = "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有点苛刻哇…这就是我要找的,…酷..我不知道该说什么..但是谢谢