2

在一个 html 脚本中,我插入了一个 src java 脚本并创建了带有 id 的表,这些表被标记为 square1...例如,<td id="square0">apple;</td>. 我希望 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;
}
}

非常感谢任何帮助都会做..

4

5 回答 5

3

这是你需要的。

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"。

我们在这里所做的是将单词转换为大写字母后将其拆分为字符。

“苹果”

然后我们通过 charCodeAt(0) 调用找出每个字符的值。然后我们从中减去 64 以便我们根据您的要求得到字符的值

A - > 65- 64 = 1 B - > 66- 64 = 2

等等。

于 2012-07-29T09:07:31.693 回答
2

你可以像这样计算一个单词的总和:

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
于 2012-07-29T09:06:43.317 回答
0

Abhishek 的答案更具可读性,但这是如何使用reduce; 它稍微短一些,但 javascript 语法使得它0的初始值不清楚sum

'Apple'.toUpperCase().split('').reduce(
    function(sum,letter){ return sum + letter.charCodeAt(0)-64 },
    0
)
于 2012-07-29T09:50:24.527 回答
0

用于.charCodeAt()获取字符的 ASCII 值。你可以从结果中减去 96 得到 a = 1, b = 2...

例如:

var word = "apple";
var sum = 0;

for(var i = 0; i < word.length; i++) {
    sum += (word[i].charCodeAt() - 96);
}
console.log(sum);​

JSFiddle

如果你也想处理大写字母,你必须做一些检查。

于 2012-07-29T09:06:51.647 回答
-1

这适用于字母“a”..“z”:

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script type="text/javascript">
        function calcAlpha() {
            var word = document.getElementById("square0").childNodes[0].data;
            var sum = 0;
            for(var i=word.length-1; i>=0; i--) {
                sum += (word.charCodeAt(i) - 96);
            }
            document.getElementById("display").innerHTML=sum;
        }
    </script>
</head>
<body>
    <table><tr><td id="square0">apple</td></tr></table>
    <div id="display"></div>
    <button onclick="calcAlpha()">calculate</button>
</body>
</html>
于 2012-07-29T09:11:05.253 回答