我正在开发一个加密器,并希望将字符串的每个字母都更改为数字。
在我的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);
&#13;
答案 0 :(得分:0)
您可以使用括号表示法而不是像这样的点符号
pairs[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(","));
&#13;
答案 1 :(得分:0)
您可以使用括号表示法代替点表示法来访问该值,类似于inputArray[i] = pairs[inputArray[i]];
有关详细信息,请参阅Property Accessors上的文档。
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);
&#13;