var str = 'abcdacbabcbababcbabcabd' 如何让这个字符串加到对象中变成key值
时间: 2023-06-26 14:04:45 浏览: 130
你可以创建一个空对象,然后遍历字符串中的每个字符,将其作为对象的 key,并给该 key 对应的 value 加 1。代码如下:
```javascript
var str = 'abcdacbabcbababcbabcabd';
var obj = {};
for (var i = 0; i < str.length; i++) {
var char = str.charAt(i);
if (obj[char]) {
obj[char]++;
} else {
obj[char] = 1;
}
}
console.log(obj); // {a: 5, b: 8, c: 5, d: 2}
```
这样就可以将字符串中的每个字符作为对象的 key,并且统计每个字符出现的次数。
相关问题
var str = 'abcdacbabcbababcbabcabd' 怎么放进对象变成key值
可以使用 JavaScript 中的对象来实现将字符串中的字符作为对象的键(key)的操作。具体代码如下:
```
var str = 'abcdacbabcbababcbabcabd';
var obj = {};
for (var i = 0; i < str.length; i++) {
var char = str[i];
if (!obj[char]) {
obj[char] = 1;
} else {
obj[char]++;
}
}
console.log(obj);
```
这段代码定义了一个空对象,然后遍历字符串中的每个字符,将字符作为对象的键,如果该键不存在,则将其值初始化为1;否则将其值加1。最后输出对象,即可得到每个字符在字符串中出现的次数。
能详细说下这组代码是什么意思吗?代码是:Com_RegisterFile("security.js"); Com_IncludeFile("aes.js"); Com_IncludeFile("base64.js"); var SECURITYKEY = { toHexString: function(str) { var temp = ""; for (i = 0; i < str.length; i++) { temp += str.charCodeAt(i).toString(16) } return temp }, _2: function() { $.ajax({ async: false, dataType: "script", url: Com_Parameter.ResPath + "js/session.jsp?_=" + new Date().getTime() }); var str = ""; if (window.getSessionId) { str = getSessionId() } return str }, supportEncodings: function() { return ["aes", "des"] }, get: function(encodeType) { var str = SECURITYKEY._2(); if (encodeType == null || encodeType == 'aes') { if (str.length < 32) { str += "abcdefghijklmnopqrstuvwxyz1234567890" } str = str.toUpperCase(); var key = {}; key.key = str.substring(0, 16); key.iv = str.substring(16, 32); key.security = "\u4435\u5320\u4d35" } else { if (str.length < 16) { str += "abcdefghijklmnopqrstuvwxyz" } str = str.toUpperCase(); var key = {}; key.key = SECURITYKEY.toHexString(str.substring(0, 8)); key.iv = SECURITYKEY.toHexString(str.substring(8, 16)); key.security = "\u4445\u5320\u4d45" } return key }, getCookie: function(c_name) { if (document.cookie.length > 0) { var cookies = document.cookie.split(";"); for (i = 0; i < cookies.length; i++) { var xc = cookies[i]; var cn = xc.substring(0, xc.indexOf("=")).toUpperCase(); cn = cn.replace(/^\s*/, "").replace(/\s*$/, ""); if (cn == c_name) { return unescape(xc.substring(xc.indexOf("=") + 1, xc.length)) } } } return "" } }; function base64Convert() { return "\u4241\u5345\u3634{" + Base64.encode(arguments[0]) + "}" } function _0(xForm) { if (xForm == null) { xForm = document.forms[0] } if (xForm != null) { if (xForm.encoding == "multipart/form-data") { return true } } return false } function _1(str, xForm, isX) { if (_0(xForm)) { return str } else { var val = str; if (str != null && str.length > 0) str = base64Convert(str); if (val != str) { if (isX == true) { val = "\u4645\u5810\u4d40" + str } else { val = "\u4649\u5820\u4d45" + str } } return val } } function desEncrypt(value, xForm, type) { if (_0(xForm)) { return value } else { var keyObj = {}; if (type == null || "aes" == type.toLowerCase()) { keyObj = SECURITYKEY.get(); value = CryptoJS.AES.encrypt(value, CryptoJS.enc.Utf8.parse(keyObj.key), { iv: CryptoJS.enc.Utf8.parse(keyObj.iv) }).toString() } else { keyObj = SECURITYKEY.get('des'); value = CryptoJS.DES.encrypt(value, CryptoJS.enc.Hex.parse(keyObj.key), { iv: CryptoJS.enc.Hex.parse(keyObj.iv) }) } return keyObj.security + value } } function base64Encode(str, xForm) { return _1(str, xForm) } function base64Encodex(str, xForm) { return _1(str, xForm, true) }
这段代码主要是定义了一个 SECURITYKEY 对象,它有多个函数用来处理加密和解密。
- Com_RegisterFile("security.js") 和 Com_IncludeFile("aes.js") 和 Com_IncludeFile("base64.js") ,这三句话是在引入 security.js、aes.js 和 base64.js 这三个文件。
- SECURITYKEY.toHexString(str),这个函数是将字符串转换为十六进制字符串。
- SECURITYKEY._2(),这个函数是用 ajax 方式加载 session.jsp 文件,并从中获取 sessionId。
- SECURITYKEY.supportEncodings(),这个函数是返回加密类型的数组。
- SECURITYKEY.get(encodeType),这个函数是根据给定的加密类型返回加密的 key 和 iv。
- SECURITYKEY.getCookie(c_name),这个函数是获取指定名称的 cookie 的值。
- base64Convert(),这个函数是将参数编码为 base64。
- _0(xForm) 和 _1(str, xForm, isX),这两个函数的作用没有明确说明。
总之这段代码主要是定义了一个 SECURITYKEY 对象,它有多个函数用来处理加密和解密,并使用了 aes.js 和 base64.js 这两个文件。
阅读全文
相关推荐














