将数组转换为具有这些数组值作为键的对象的最佳方法是什么,空字符串用作新对象的值。
['a','b','c']
Run Code Online (Sandbox Code Playgroud)
至:
{
a: '',
b: '',
c: ''
}
Run Code Online (Sandbox Code Playgroud)
Mah*_*Ali 31
您可以使用Array.prototype.reduce()和计算属性名称
let arr = ['a','b','c'];
let obj = arr.reduce((ac,a) => ({...ac,[a]:''}),{});
console.log(obj);Run Code Online (Sandbox Code Playgroud)
brk*_*brk 11
您可以使用数组reduce函数并在累加器中传递一个空对象。在此累加器中,添加一个由 表示的密钥curr。
let k = ['a', 'b', 'c']
let obj = k.reduce(function(acc, curr) {
acc[curr] = '';
return acc;
}, {});
console.log(obj)Run Code Online (Sandbox Code Playgroud)
另一种选择是使用for..of循环
let k = ['a', 'b', 'c'];
const obj = {};
for (let keys of k) {
obj[keys] = '';
}
console.log(obj)Run Code Online (Sandbox Code Playgroud)
尝试 Array#Reduce
var arr = ['a','b','c'];
arr = arr.reduce((a,b)=> (a[b]='',a),{});
console.log(arr)Run Code Online (Sandbox Code Playgroud)
var target = {}; ['a','b','c'].forEach(key => target[key] = "");
Run Code Online (Sandbox Code Playgroud)
您可以使用 Object.assign 属性来组合使用 map 函数创建的对象,请注意,如果数组元素的值不唯一,则后者将覆盖先前的
const array = Object.assign({},...["a","b","c"].map(key => ({[key]: ""})));
console.log(array);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1973 次 |
| 最近记录: |