有没有一种漂亮的方法可以将列表/哈希数组转换为可用的字符串

Is there a nifty way to Convert an array of list/hash's to a useable string?

本文关键字:哈希 列表 数组 转换 字符串 一种 漂亮 有没有 方法      更新时间:2023-09-26

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

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

当然,我知道我可以 $.each() 它并连接值等。 但我正在寻找更漂亮/更健壮的东西,因为我有一种感觉,有一些 jQuery 忍者方式可以切入这里的追逐。

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

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

有没有比每个通过它和.join()'ing更多产的东西?

谢谢。

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

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

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

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

您可以使用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;
}, '');

我相信你也可以做一个通用的方式,这样键的名称就无关紧要了,但这是一般的想法。