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