javascript ecma6将数组项转换为键值对对象
我想将带有一些操作的数组转换为键和值的对象。 以下是我的尝试:javascript ecma6将数组项转换为键值对对象,javascript,arrays,object,ecmascript-6,Javascript,Arrays,Object,Ecmascript 6,我想将带有一些操作的数组转换为键和值的对象。 以下是我的尝试: const config = [ 'key1=value1', 'key2=value2' ]; const configObject = config.map(c => { var key = c.split('=')[0]; var value = c.split('=')[1]; return {key:value} }) console.log('configObject', configObject
const config = [ 'key1=value1', 'key2=value2' ];
const configObject = config.map(c => {
var key = c.split('=')[0];
var value = c.split('=')[1];
return {key:value}
})
console.log('configObject', configObject) // [ { key: 'value1' }, { key: 'value2' } ]
我想获得一个键值对象,而不是一个没有任何老式循环的数组。像这样:
{ key: 'value1' , key: 'value2' }
使用功能
reduce
const config=['key1=value1','key2=value2'];
const configObject=config.reduce((a,c)=>{
var[key,value]=c.split('=');
返回{…a,{[键]:值};
}, {});
console.log(configObject)代码>
。作为控制台包装{最大高度:100%!重要;顶部:0;}
使用函数reduce
const config=['key1=value1','key2=value2'];
const configObject=config.reduce((a,c)=>{
var[key,value]=c.split('=');
返回{…a,{[键]:值};
}, {});
console.log(configObject)代码>
.as控制台包装{max height:100%!important;top:0;}
您应该使用.reduce
const config=['key1=value1','key2=value2'];
var data=config.reduce(
(acc,el)=>{
acc[el.split(“=”[0]]=el.split(“=”[1];
返回acc;
}, {}
);
控制台日志(数据)代码>您应该使用。减少
const config=['key1=value1','key2=value2'];
var data=config.reduce(
(acc,el)=>{
acc[el.split(“=”[0]]=el.split(“=”[1];
返回acc;
}, {}
);
控制台日志(数据)代码>你就快到了。您正在寻找的习惯用法是Object.assign(…对象数组)
:
config=['key1=value1','key2=value2'];
configObject=Object.assign(…config.map(c=>{
var key=c.split('=')[0];
var值=c.split('=')[1];
返回{[key]:值}
}))
console.log(configObject)
您就快到了。您正在寻找的习惯用法是Object.assign(…对象数组)
:
config=['key1=value1','key2=value2'];
configObject=Object.assign(…config.map(c=>{
var key=c.split('=')[0];
var值=c.split('=')[1];
返回{[key]:值}
}))
log(configObject)
您可以在新对象中映射拆分的键/值对,并在单个对象中收集所有
var数组=['key1=value1','key2=value2'],
object=object.assign(…array.map(s=>([k,v])=>({[k]:v}))(s.split('='));
console.log(对象)代码>您可以在新对象中映射拆分的键/值对,并在单个对象中收集所有
var数组=['key1=value1','key2=value2'],
object=object.assign(…array.map(s=>([k,v])=>({[k]:v}))(s.split('='));
console.log(对象)
确实有一些不错的数组原型:键:
=>[key]:
确实有一些不错的数组原型:键:
=>[key]: