【问题标题】:Split array into pairs and pack into object将数组拆分成对并打包成对象
【发布时间】:2013-12-06 16:10:47
【问题描述】:

我有一个这样的 CSS 文本声明数组:['display: none ', 'opacity: 0.1', ' color: #ff0000']

我想将它们拆分为对象键/值表示法,因此最终结果如下:

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

edit:我有一个 working 错误的示例,但它似乎过于复杂并且无法达到目的(d'oh)。你有工作的吗?

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

  return ret;
});

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

【问题讨论】:

  • 对我来说似乎并不过分复杂...
  • 我同意,它简单有效。
  • Nvm,它甚至无法正常工作。我得到了一个对象数组,但它应该只为一个带有键/值对的对象提供服务。

标签: javascript arrays split object-notation


【解决方案1】:

查看Array.prototype.@987654321@:

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);

【讨论】:

  • 太棒了,这就是我想要的。谢谢!
猜你喜欢
  • 1970-01-01
  • 2012-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-15
相关资源
最近更新 更多