我正在开发一个加密器,想要将字符串的每个字母更改为数字。
在我的 for
循环中,我需要 inputArray[i]
等于 pairs.inputArray[i]
。
这不起作用,因为它填充了(例如)pairs.'w'
,但它必须是pairs.w
才能工作。
var pairs = {
'a': 1,
'b': 2,
'c': 3,
'd': 4,
'e': 5,
'f': 6,
'g': 7,
'h': 8,
'i': 9,
'j': 10,
'k': 11,
'l': 12,
'm': 13,
'n': 14,
'o': 15,
'p': 16,
'q': 17,
'r': 18,
's': 19,
't': 20,
'u': 21,
'v': 22,
'w': 23,
'x': 24,
'y': 25,
'z': 26,
' ': 27
}
// var nums = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26];
// var alphabet = 'abcdefghijklmnopqrstuvwxyz';
// var alphabetArray = alphabet.split('');
var input = 'raising';
var inputArray = input.split('');
for (var i = 0; i < inputArray.length; i++) {
//var index = inputArray[i];
inputArray[i] = pairs.inputArray[i];
}
console.log(inputArray);
最佳答案
您可以使用括号表示法代替点表示法,如下所示
对[inputArray[i]]
var pairs = {
'a': 1,
'b': 2,
'c': 3,
'd': 4,
'e': 5,
'f': 6,
'g': 7,
'h': 8,
'i': 9,
'j': 10,
'k': 11,
'l': 12,
'm': 13,
'n': 14,
'o': 15,
'p': 16,
'q': 17,
'r': 18,
's': 19,
't': 20,
'u': 21,
'v': 22,
'w': 23,
'x': 24,
'y': 25,
'z': 26,
' ': 27
}
var inputArray = Array.from('raising');
for (var i = 0; i < inputArray.length; i++) {
inputArray[i] = pairs[inputArray[i]];
}
console.log(inputArray.join(","));
关于javascript - 如何将变量(字符串类型)作为字典中的索引传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43256149/