Javascript如何转换对象数组

时间:2013-12-05 14:36:33

标签: javascript jquery underscore.js

我有一系列公司对象,现在我想创建一个逗号分隔的“companyId”字符串

 var company ={companyId:'', companyName:''}, 
 var companies: [company1, company2, ..]

 expectedStringResult ="companyId1,companyId2,companyId3"  

我在SO中看到这个例子:

Create comma-delimited string

但是答案假设你的数组中有字符串而不是公司之类的对象,有没有办法在没有javascript / jquery的for循环的情况下巧妙地完成这个? (就像在Java番石榴库中应用转换函数一样)

编辑:我最终使用了underscoreJS采集功能:

 _.pluck(companies, "companyId").join()

如果公司为空且非常干净,这不会崩溃

但是下面用jQuery接受的答案也很有效。

2 个答案:

答案 0 :(得分:3)

companies.map(function(item){return item.companyId;}).join(',');

或旧浏览器

$.map(companies, function(item){return item.companyId;}).join(',');

答案 1 :(得分:1)

尝试$.makeArray()

  

将类似数组的对象转换为真正的JavaScript数组。

var expectedStringResult = $.makeArray(company.companyId).join();