Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.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 - Fatal编程技术网

Javascript 输入一个英文单词,返回一个整数

Javascript 输入一个英文单词,返回一个整数,javascript,Javascript,我在一家大学广播电台工作,我们想找到一种方法,用数字来记录我们的音乐。我想把艺术家、发行名称和年份计算成9位数 我已经把一些东西编码好了 函数双射(字母)将读取单个字符,引用var alpha=[“0”、“1”、“2”、“9”、“a”、“b”、“x”、“y”、“z],并返回所提供字符的索引。例如,双射(c)=13 function bijection(character){ var alpha = ["0","1","2","3","4","5","6","7","8","9","a",

我在一家大学广播电台工作,我们想找到一种方法,用数字来记录我们的音乐。我想把艺术家、发行名称和年份计算成9位数

我已经把一些东西编码好了

函数双射(字母)将读取单个字符,引用var alpha=[“0”、“1”、“2”、“9”、“a”、“b”、“x”、“y”、“z],并返回所提供字符的索引。例如,双射(c)=13

function bijection(character){
    var alpha = ["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"];
    var position = alpha.indexOf(character) + 1;
    return position;
}
函数easyread(string)将获取一个字符串,并删除空格。因此,easyread(“双门影院俱乐部”)返回双门影院俱乐部

function easyread(noun){
    var out = noun.split(' ').join('');
    return out;
}
函数标签(number1、number2、number3)将取三个数字,计算每个mod 1000,并将它们组合成一个9位整数。例如,标签(100110021003)返回100200300

function label(sum1,sum2,year){
    var label = 1000000*(sum1%1000) + 1000*(sum2%1000) + year%1000;
    return label;
现在我想写一个名为sigma的函数,它将获取一个没有空格的字符串,将其逐个字符分解,然后将它们的索引相加。因此,我将通过easyread运行一个字符串,将其插入sigma,然后sigma将在对字符串中每个字符的迭代中引用双射,并进行一些数学运算以返回每个双射(字符)的总和。我会选择西格玛输出的任何东西,并将其作为标签的输入。不过,我不知道如何实现西格玛。有什么帮助吗

更新:

这就是我目前得到的

function sigma(noun){ 
  var domain = easyread(noun) //removes spaces from input noun 
  for(let n = 0; n<domain.length; n++) { 
    //start with n = 0, and stop when n is incrementally larger than the length of our spaces-removed string. 
    let iterative = domain[n]; //not sure what this is bijection(iterative); 
                               //tells the computer to calculate the bijection of each character 
  } //return sum of all bijection(iterative), somehow? }
函数sigma(名词){
var domain=easyread(noun)//从输入名词中删除空格

对于(让n=0;n鉴于您对
Javascript
非常陌生,我将尽最大努力避免使用复杂的api

基本上,要去掉所有空格,您必须执行一个
字符串。替换(…)
。其中API采用正则表达式模式。因此,您需要执行类似
/\s/g
的操作来表示我想“查找字符串中的所有空格”第二个参数将是
'
,也就是说将其替换为“”

在此之后,您将希望循环遍历无空格字符串值中的每个字符,只需对循环执行一个简单的
for
,并在每个循环上调用
bijection()
函数

考虑下面的代码

示例:

“严格使用”;
函数双射(char){
//假设这是你的双射
log(“将字符:“+char+”转换为值…”);
返回10;//假设每个字符的值为10。
}
let test=“可能有空格的一个”;
设nospace=test.replace(/\s/g,“”);
设totalValue=0;
for(设n=0;n控制台。日志(“总值=>”+总值);<代码>欢迎。如果你显示了你放在一起的代码,这将是有帮助的。你可能也想阅读使用来把字符串分割成一个数组,把字母转换成数字并将它们相加。在计算之前,从歌曲标题开始,例如,“爱的力量”和“爱的力量”将得到相同的结果。希望这有帮助。如果您想进一步讨论,请告诉我。他已经编写了
.replace()
函数。它名为
easyread()
。所以代码应该是
让nospace=easyread(test)
我不太理解for循环中的条件,但是其余的是可以管理的。我们现在如何从这个循环中获得和双射(“t”)+双射(“w”)+…+双射(“u”)+双射(“b”)呢?我像这样摆弄它
函数sigma(名词){var domain=easyread(noon)//从输入名词中删除空格for(设n=0;循环可以读为“对于
nospace
(或您的代码
)中的每个字符)。调用
双射()
获取该字符的值。然后使用双射返回的结果将其添加到变量
totalValue