如何合并两个数组(一个带有字符串=>值对,另一个带有int =>值对),同时保留字符串/ int键?它们不会重叠(因为一个只有字符串,而另一个只有整数)。 这是我当前的代码(这不起作用,因为array_merge用整数键重新索引了数组): // get all id vars by combining the static and dynamic $staticIdentifications = array( Users::userID => "USERID", Users::username => "USERNAME" ); // get the dynamic vars, formatted: varID => varName $companyVarIdentifications = CompanyVars::getIdentificationVarsFriendly($_SESSION['companyID']); // merge the static and dynamic vars (*** BUT KEEP THE INT INDICES …
先前在这里回答的问题说这是最快的方法: //nl is a NodeList var arr = Array.prototype.slice.call(nl); 在我的浏览器上进行基准测试时,我发现它的速度比此速度慢3倍以上: var arr = []; for(var i = 0, n; n = nl[i]; ++i) arr.push(n); 它们都产生相同的输出,但是我很难相信我的第二个版本是最快的方法,特别是因为人们在这里另有说明。 这是我的浏览器中的一个怪胎(铬6)吗?还是有更快的方法? 编辑:对于任何关心的人,我都选择了以下内容(这似乎是我测试过的每个浏览器中最快的): //nl is a NodeList var l = []; // Will hold the array of Node's for(var i = 0, ll = nl.length; i …