javascript - 如何将变量(字符串类型)作为字典中的索引传递

标签 javascript encryption

我正在开发一个加密器,想要将字符串的每个字母更改为数字。

在我的 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/

相关文章:

Java AES CTR IV 和计数器

javascript - 如何为鼠标悬停功能添加延迟?

javascript - 由于导航重置,ComponentDidMount 调用两次

javascript - 我想使用 onesignal Pushnotifiaction 将 IntelXDK 项目放入 Android Studio

c++ 操作系统独立(windows 和 linux)开源随机数生成器库?

c - AES加密和解密不匹配

javascript - 带有数字键的对象无论如何都会发送所有以前的数字

javascript - 如何将 setInterval() 的 ID 传递给匿名函数

ssl - 如何配置 libssl 以使用 TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 密码套件?

c++ - 如何解密xxtea?