JavaScript 将字母数组转换为数字

标签 javascript function innerhtml onmouseover

我一直在研究 JavaScript 中的一个函数,该函数可以在 mouseenter 上排列单词中的字母。我无法完成第一步,即将字母转换为数字以增加它们的值。我首先尝试:

function permuter1(){
var polygon=document.getElementById("permutable").innerHTML;
polygon = polygon.toLowerCase();
polygon.split("");
var converter = {a:0,b:1, c:2,d:3,e:4,f:5,g:6,h:7,i:8,j:9,k:10,l:11,m:12,n:13,o:14,p:15,q:16,r:17,s:18,t:19,u:20,v:21,w:22,x:23,y:24,z:25};

    for (index=0; index<polygon.length;index++) {
        polygon[index] = converter[polygon[index]];
    }

为了测试我只使用过:

document.getElementById("permutable").innerHTML = polygon[0];

在 html 中我有:

<ul>
<li id = "permutable" onmouseenter="permuter1()" onmouseleave="unpermute1()">Browse</li>
</ul>

我希望鼠标悬停会给我 1,但我却得到了 b。所以我尝试了:

 for (index=0; index<polygon.length;index++) {

     polygon[index]=polygon[index].charCodeAt();

    }

相同的结果。我什至尝试过:

 var str = "";
 for (index=0; index<polygon.length;index++) {
        str=str +polygon[index];
    }

 for (index=0; index<polygon.length;index++) {
        polygon[index] = str.charCodeAt(index);
    }

同样的结果!我测试了 for 循环之前的所有内容,并且知道它可以工作。我在 for 循环中做错了什么?

最佳答案

polygon.split(""); 返回一个数组。您必须将其分配给某些东西才能使用它。也许您想要:

polygon = polygon.split("");

仅供引用,您可以将一些调用链接在一起,如下所示:

polygon = polygon.toLowerCase().split("");
<小时/>

此外,您的函数 permuter1() 不会对其计算的结果执行任何操作以使其可见。如果您想在网页中看到它,则必须使用诸如 polygon.join("") 之类的内容将数组重新连接到一个字符串中,然后将其分配回 某些 DOM 元素的 .innerHTML

关于JavaScript 将字母数组转换为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27152701/

相关文章:

javascript - 如何在 JavaScript 上更新 iframe 的 src 和链接的 onclick

javascript - 使用 javascript(无库)更新 tbody 的 html : possible?

javascript - 更新API事件的innerHTML

javascript - ES 6 React 类访问 getter 中的 props

javascript - 执行对象的函数/方法

javascript - 如何在 Backbone.js 中呈现嵌套 View ?

C++ : How to pass a normal c function as hash functor for unordered_map

javascript - 未捕获的类型错误 : Cannot set property 'innerHTML' of null

javascript - 在 ajax 成功时使文本框可见并进行其他 css 更改

javascript - 从函数中获取值并将其放入输入字段中