将数组转换为关联数组的函数

Mur*_*ain 8 javascript arrays associative-array

可能重复:
在JavaScript中将平面数组[k1,v1,k2,v2]转换为对象{k1:v1,k2:v2}?

我想在JavaScript中将数组转换为关联数组.

例如,给出以下输入,

  var a = ['a', 'b', 'c', 'd'];
Run Code Online (Sandbox Code Playgroud)

我想将下一个关联数组作为输出:

  {'a' : 'b', 'c' : 'd'}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Rob*_*b W 15

使用.forEach:

var a = ['a', 'b', 'c', 'd'];
var obj_a = {};
a.forEach(function(val, i) {
    if (i % 2 === 1) return; // Skip all even elements (= odd indexes)
    obj_a[val] = a[i + 1];   // Assign the next element as a value of the object,
                             // using the current value as key
});
// Test output:
JSON.stringify(obj_a);       // {"a":"b","c":"d"}
Run Code Online (Sandbox Code Playgroud)


Ric*_*lly 6

请尝试以下方法:

var obj = {};
for (var i = 0, length = a.length; i < length; i += 2) {
  obj[a[i]] = a[i+1];
}
Run Code Online (Sandbox Code Playgroud)