对象动态创建键值对中的键

今天遇到一个问题,一个数组需要动态创建对象,而对象中的键也是动态的;但是在创建之后,键始终是不变的,最后发现在键的外面包一层数组就可以了,直接看代码;

var arr = ['zs', 'ls', 'ww'];

function test(arr){
    var list = [];
    for(var v of arr){
        list.push({v:v})
    }
    return list;
}

console.log(test(arr)) //[{v:'zs'},{v:'ls'},{v:'ww'}]

// 下面改变一下函数

function rightFn(arr){
        var list = [];
    for(var v of arr){
        list.push({[v]:v})
    }
    return list;
}
console.log(rightFn(arr))//[{zs:'zs'},{ls:'ls'},{ww:'ww'}]

你可能感兴趣的:(对象动态创建键值对中的键)