javascript - 如何将文本字段的值拆分为包含每个字符的数组,而不是访问该数组?

标签 javascript arrays string loops

我想在每个字符中拆分文本字段的值,并用另一个数组中的等价物替换数组中的每个值。文本字段中的值始终可以具有不同的长度。但是我该怎么做呢?我必须创建一个新数组吗?

例如:

如果文本字段的值为:AaBbCc

新数组应该包含:A,a,B,b,C,c

var charsv = new Array();
charsv[" "] = 128; charsv["!"] = 01; charsv['"'] = 02; charsv["#"] = 03;     
charsv["$"] = 04; charsv["%"] = 05; charsv["&"] = 06; charsv["’"] = 07;
charsv["("] = 08; charsv[")"] = 09; charsv["*"] = 10; charsv["+"] = 11; 
charsv[","] = 12; charsv["-"] = 13; charsv["."] = 14; charsv["/"] = 15; 
charsv["0"] = 16; charsv["1"] = 17; charsv["2"] = 18; charsv["3"] = 19;
charsv["4"] = 20; charsv["5"] = 21; charsv["6"] = 22; charsv["7"] = 23; 
charsv["8"] = 24; charsv["9"] = 25; charsv[":"] = 26; charsv[";"] = 27; 
charsv["<"] = 28; charsv["="] = 29; charsv[">"] = 30; charsv["?"] = 31; 
charsv["@"] = 32; charsv["A"] = 33; charsv["B"] = 34; charsv["C"] = 35; 
charsv["D"] = 36; charsv["E"] = 37; charsv["F"] = 38; charsv["G"] = 39;
charsv["H"] = 40; charsv["I"] = 41; charsv["J"] = 42; charsv["K"] = 43; 
charsv["L"] = 44; charsv["M"] = 45; charsv["N"] = 46; charsv["O"] = 47; 
charsv["P"] = 48; charsv["Q"] = 49; charsv["R"] = 50; charsv["S"] = 51; 
charsv["T"] = 52; charsv["U"] = 53; charsv["V"] = 54; charsv["W"] = 55; 
charsv["X"] = 56; charsv["Y"] = 57; charsv["Z"] = 58; charsv["["] = 59; 
charsv["\\"] = 60; charsv["]"] = 61; charsv["^"] = 62; charsv["_"] = 63; 
charsv["`"] = 64; charsv["a"] = 65; charsv["b"] = 66; charsv["c"] = 67; 
charsv["d"] = 68; charsv["e"] = 69; charsv["f"] = 70; charsv["g"] = 71; 
charsv["h"] = 72; charsv["i"] = 73; charsv["j"] = 74; charsv["k"] = 75; 
charsv["l"] = 76; charsv["m"] = 77; charsv["n"] = 78; charsv["o"] = 79; 
charsv["p"] = 80; charsv["q"] = 81; charsv["r"] = 82; charsv["s"] = 83;  
charsv["t"] = 84; charsv["u"] = 85; charsv["v"] = 86; charsv["w"] = 87; 
charsv["x"] = 88; charsv["y"] = 89; charsv["z"] = 90; charsv["{"] = 91; 
charsv["|"] = 92; charsv["}"] = 93; charsv["~"] = 94; charsv["•"] = 99; 
charsv["š"] = 104; charsv["œ"] = 106;

结果应该是:33,65,34,66,35,67

最佳答案

使用split函数并将空字符串作为参数传递给它

var text = "asdfghj";
var arr = text.split(""); // returns ["a", "s", "d", "f", "g", "h", "j"]

然后将每个字符转换成它的字符代码,你可以使用map为此

arr.map(function (char) { return char.charCodeAt(0); }); 
// returns [97, 115, 100, 102, 103, 104, 106]

编辑:我注意到您的 charsv 数组没有将每个字符映射到它的 ASCII 代码。但是,即使在这种情况下,您也可以使用 map

arr.map(function (char) { return charsv[char]; }); 
// returns [65, 83, 68, 70, 71, 72, 74]

关于javascript - 如何将文本字段的值拆分为包含每个字符的数组,而不是访问该数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29964252/

相关文章:

string - 将字符串转换为 aes_string 的美学

ios - 快速将字符串转换为 double 型

javascript - 关联 2 个数组之间的项目

javascript - 在手动模式下单击下一个或上一个按钮后,图像转换自动开始

javascript - 如何从 karma 测试中模拟dom元素

php - 使用 SQL 和 Codeigniter 返回 4 维数组

arrays - Ocaml 实现

arrays - 查找总和小于给定值的最大元素(连续)?

string - 输出shell变量时如何保留空格?

javascript - 使用 Chrome 扩展程序访问 Google Chrome 浏览器中的搜索查询文本