数组长度,键值为js

lim*_*lim 3 javascript arrays key-value

我写了这段代码,它应该解析给定的paramUnparsed(它应该是一个形式的数组:[key1 = val1,key2 = val2,..,keyn = valn]).

function parseParams(paramUnparsed){
var params = [];
for ( var j = 0; j < paramUnparsed.length; j++) {
    if (paramUnparsed[j].split('=').length < 2) {
        // error ! bad input structure, ignoring params -

        params = undefined;
        break; // we don't have to return error, depending
                // on the function called and given params.

    }
    //else {
        var key = paramUnparsed[j].split('=')[0];
        var value = paramUnparsed[j].split('=')[1];
        params[key] = value;
    //}
}

console.log("In parseParams, params are: "+ concatObject(params));//DEBUG 1
console.log("In parseParams, params length is: "+ params.length);//DEBUG 2
return params;  
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做,仍然确定我正在创建的数组的长度?我总是在'DEBUG 2'打印输出上得到'0'...

小智 11

创建的"params"数组是一个关联数组.如果要获取关联数组的长度,请使用

Object.keys(params).length;
Run Code Online (Sandbox Code Playgroud)