将数组拆分成对,并打包到对象中



我有一个带有CSS文本声明的数组,如下所示:['display: none ', 'opacity: 0.1', ' color: #ff0000']

我想把它们分成对象键/值表示法,这样它就变成这样了:

{
  display: 'none',
  opacity: 0.1,
  color: '#ffffff'
}

edit:我有一个工作错误的例子,但它似乎过于复杂,而且不起作用(d’oh)。你有工作的吗?

cssStyleDeclarations.map(function(item) {
  var x = item.split(':');
  var ret = {};
  ret[x[0].trim()] = x[1].trim();
  return ret;
});

它将它作为数组返回,每个条目都有一个对象([Object, Object, Object]),但我希望它是一个纯对象。

查看Array.prototype.reduce():

var input = ['display: none ', 'opacity: 0.1', ' color: #ff0000'];
var css = input.reduce((p, c) => {
  var x = c.split(':');
  p[x[0].trim()] = x[1].trim();
  return p;
}, {});
console.log(css);

相关内容

  • 没有找到相关文章

最新更新