4

javascript中有没有一种方法可以将多个对象的命名/索引字段(比如每个对象的一个​​字段)连接到一个字符串。

var theArray = [{
 field1: "TEXT",
 field2: "VAL"
 ...
},
{
 field1: "text",
 field2: "val"
 ...
}
...
];

为了ideomacy(ideomatic编程),我想知道是否有一种方法可以field1在没有for循环的情况下连接数组中的所有值。

就像是

theArray.getFieldValues[0].join(', ');

我们在这里有哪些选择?

  • 重载数组 - 不会那样做,
  • 辅助功能 - 不想循环。

jQuery中有过滤器和grep函数,但它们只过滤元素,我想知道是否已经有类似的东西

theArray.grepNewObject(function(o){ return o.field1; }).join(', ');
4

1 回答 1

3

您可以先使用map来获取 just 的数组,field1然后再加入它:

theArray.map(function(x){return x.field1}).join(', ');

请注意,地图需要在 IE 8 及更早版本中进行填充。或者,由于您使用的是 jQuery,您可以使用jQuery.map作为跨浏览器解决方案:

$.map(theArray, function(x){return x.field1}).join(', ');
于 2013-06-26T12:05:33.433 回答