1

如果我有以下哈希/列表数组。

var someArray = [
   { htmlElem : "<div>", txt: "something In Div" },
   { htmlElem : "</div>", txt: "baddabing!" }
]

当然,我知道我可以 $.each() 它并连接值等。但我正在寻找更漂亮/更强大的东西,因为我觉得有一些 jQuery ninja 方式可以切入正题这里。

这就是我想要结束的。一个字符串

<div>something In Div</div>baddabing!

有没有比通过它和 .join() 更丰富的东西?

谢谢。

4

2 回答 2

3

无法自动连接对象中的值,因为对象中的属性没有固定的顺序。您需要指定连接它们的顺序。

您可以使用该$.map方法处理数组中的项目,然后加入它们:

var s = $.map(someArray, function(e){
  return e.htmlElem + e.txt;
}).join('');

演示:http: //jsfiddle.net/Aya4F/

于 2013-10-20T02:55:25.037 回答
2

你可以使用Array.prototype.reduce


var someArray = [
   { htmlElem : "<div>", txt: "something In Div" },
   { htmlElem : "</div>", txt: "baddabing!" }
];

var str = someArray.reduce(function (prev, curr) {
    return prev + curr.htmlElem + curr.txt;
}, '');

我相信您也可以采用通用方式,以便键的名称无关紧要,但这是一般的想法。

于 2013-10-20T03:07:44.033 回答