代码之家  ›  专栏  ›  技术社区  ›  eozzy

将简单数组转换为对象

  •  1
  • eozzy  · 技术社区  · 7 年前

    var arr = [ 'key', 'value' ];
    console.log(arr);
    
    var obj = { arr[0] : arr[1] };
    console.log(obj);

    执行此数组到对象转换时出错。不过,这不是问题:

    var arr = [ 'key', 'value' ];
    var key = arr[0];
    var value = arr[1];
    
    var obj = { key : value };
    console.log(obj);

    为什么数组替换不起作用?我做错什么了?

    2 回复  |  直到 7 年前
        1
  •  8
  •   Inus Saha    7 年前

    var arr = [ 'key', 'value' ];
    console.log(arr);
    
    var obj = { [arr[0]] : arr[1] };
    console.log(obj);

    我认为问题在关键部分。看看我是怎么做到的。

        2
  •  2
  •   Nina Scholz    7 年前

    你需要一个 computed property name 对于对象文字。

    { [key]: value }
      ^^^^^           left hand side brackets, takes value of key