所以我们有一个案例,我们会有一些JSON,其中key是id(int),值是字符串.但是我们注意到大多数时候,我们根据字符串查找id,所以我们决定将其反转并将字符串作为键,值为id.因为这样而不是遍历每个项目并比较值,我们可以这样做var id = storage[text];.以下是我们所做的例子.
这是旧实现的示例:
var storage = {
0 : null,
1 : "Hello",
2 : "world!",
3 : "How are you?"
}
Run Code Online (Sandbox Code Playgroud)
以下是新实现的示例:
var storage = {
"null" : 0,
"Hello" : 1,
"world!" : 2,
"How are you?" : 3
}
Run Code Online (Sandbox Code Playgroud)
我知道现在字符串是键,并且可以为相同的字符串获取相同的id.但是从现在开始字符串可能非常巨大(机会很小,但每个字符串可能最大1KB),JS或Android webview是否存在长度限制对象键?
而且,这种实施有缺点吗?到目前为止我没有发现任何问题,但你永远都不知道.
我的Node.js应用程序的一部分涉及从用户接收字符串作为输入并将其存储在JSON文件中.JSON本身显然对此没有限制,但是Node可以处理成JSON的文本量是否有任何上限?
请注意,我没有使用MongoDB或任何其他技术进行实际插入 - 这是本机字符串化并使用保存到.json文件fs.
各位编码员,我之前已经问过这个问题,但没有得到确凿的答案.问题是:在我遇到某些限制之前,我可以安全地返回多少数据并调用ajax?
场景基本上是这样的:前端对php控制器/模型进行ajax调用.控制器从数据库中返回一串或多行,或返回一些表示某些报告的html,这些报告将存储在js字符串var中以便稍后显示.
我在这里看到两个限制:通过ajax调用返回的数据大小和js var可以容纳的最大大小.
谁知道限制是什么?
谢谢
我正在尝试使用 SubtleCrypto 加密 javascript (firefox) 中的字符串。问题在于,加密仅适用于短输入。一旦字符串 (testdata) 超过 190 个字符,它将失败并出现操作错误。为什么 SubtleCrypto 会有这样的行为以及如何解决它?
代码:
function str2ab(str) {
var encoder = new TextEncoder('utf-8');
return encoder.encode(str);
}
function ab2str(buf) {
var decoder = new TextDecoder('utf-8');
return decoder.decode(buf);
}
var keypair;
var algorithmKeyGen = {
name: 'RSA-OAEP',
modulusLength: 2048,
publicExponent: new Uint8Array([1,
0,
1
]), // Equivalent to 65537
hash: {
name: 'SHA-256'
}
};
var crypter = window.crypto.subtle;
function encrypt(buffer) {
return crypter.encrypt(algorithmKeyGen, keypair.publicKey, buffer).then(
function(data) {
alert(ab2str(data));
},
function(error) {
alert(error);
} …Run Code Online (Sandbox Code Playgroud)