Javascript 更改JS对象的默认密钥
如何将transform()方法生成的默认关键帧从Lodash更改为此对象。它们必须从1开始,而不是从0开始Javascript 更改JS对象的默认密钥,javascript,for-loop,lodash,Javascript,For Loop,Lodash,如何将transform()方法生成的默认关键帧从Lodash更改为此对象。它们必须从1开始,而不是从0开始 function getHashValues(section, matchExp) { var picked = _.transform(section, function(result, value, key) { var matches = key.match(new RegExp(matchExp)); if (matches) {
function getHashValues(section, matchExp) {
var picked = _.transform(section, function(result, value, key) {
var matches = key.match(new RegExp(matchExp));
if (matches) {
result[matches[2]] = result[matches[2]] || {};
result[matches[2]][matches[1]] = value;
}
}, {});
// Log
console.log(typeof picked); // object
console.log(picked); // Object {0: Object, 1: Object, 2: Object, 3: Object, 4: Object, 5: Object, 6: Object, 7: Object, 8: Object, 9: Object}
return picked;
}
不用尝试,我会说使用
result[matches[2]+1]
。你能告诉我们getHashValues
的用法吗?正如@user3557327所说。。。您可能需要0.reduce而不是0.transform(您不转换节,是吗?)和0.transform不生成键,您使用[]符号生成它们。。。旁注:将newregex
放在getHashValues开头的var中,以节省一些CPU周期。