我需要一些调试来查看一个JavaScript对象的属性的原始顺序,但(至少在chrome devtools中)console.log()向我显示按字母顺序排列的对象.
例如:
var obj = {
z: 1,
t: 2,
y: 3,
a: 4,
n: 5,
k: 6
}
Run Code Online (Sandbox Code Playgroud)
console.log(obj) 显示这个:
Object {z: 1, t: 2, y: 3, a: 4, n: 5…}
a:4
k:6
n:5
t:2
y:3
z:1
//expected (needed ) original order
z: 1
t: 2
y: 3
a: 4
n: 5
k: 6
Run Code Online (Sandbox Code Playgroud) 我具有以下功能:https : //rosettacode.org/wiki/Combinations#ES6
在我的环境console.log(show(comb(3,15)));(与下面的代码段相同)中,使用aprox。4秒处理
如果我尝试console.log(show(comb(3,16))); ,请服用aprox。16秒
如果我尝试console.log(show(comb(3,17))); ,请服用aprox。90秒
但是,如果我尝试过:console.log(show(comb(3,20))); 经过一个小时的处理仍未完成,我已经停止了它。
问题是:
如何预先计算处理时间comb(3,50)或comb(3,80)?
(() => {
'use strict';
// COMBINATIONS -----------------------------------------------------------
// comb :: Int -> Int -> [[Int]]
const comb = (m, n) => combinations(m, enumFromTo(0, n - 1));
// combinations :: Int -> [a] -> [[a]]
const combinations = (k, xs) =>
sort(filter(xs => k === xs.length, subsequences(xs)));
// GENERIC FUNCTIONS -----------------------------------------------------
// cons :: a -> [a] -> …Run Code Online (Sandbox Code Playgroud)我需要检查字符串是否等于定义的值和对象是否有hash密钥.
我对此非常困惑:
var my_string = 'some_string';
var my_obj = {'hash':'4010f89a05c236cd4f3a5c7558af0e70dc4216454d2d5155a285bfbad752ce51f9510272821a254'}
console.log((my_string == 'some_string' && my_obj['hash']));
Run Code Online (Sandbox Code Playgroud)
那回归 4010f89a05c236cd4f3a5c7558af0e70dc4216454d2d5155a285bfbad752ce51f9510272821a254
预期true或false(在此示例中预期true).
如果我尝试
UPDATE my_table t1, my_table t2
SET
t1.hash1 = UNHEX(MD5(t2.original)),
t1.hash2 = UNHEX(MD5(t2.translated))
WHERE t1.id = 1;
Run Code Online (Sandbox Code Playgroud)
我得到了这个结果
Query OK, 1 row affected (0.09 sec)
Run Code Online (Sandbox Code Playgroud)
但如果我试试这个:
UPDATE my_table t1, my_table t2
SET
t1.hash1 = UNHEX(MD5(t2.original)),
t1.hash2 = UNHEX(MD5(t2.translated))
WHERE t1.id < 1000;
Run Code Online (Sandbox Code Playgroud)
结果是:
Query OK, 998 rows affected (5 min 13.66 sec)
Run Code Online (Sandbox Code Playgroud)
预计 0.09 * 1000 / 60 = 1.5 分钟
我首先使用了来自https://dba.stackexchange.com/a/124733/146439 的:
SET GLOBAL join_buffer_size = 1024 * 1024 * 42;
Run Code Online (Sandbox Code Playgroud)
还有其他技巧可以改善更新时间吗?(MyISAM 引擎)