Jquery 选择逗号分隔字符串中可观察数组的所有字段值

Jquery 选择逗号分隔字符串中可观察数组的所有字段值,jquery,arrays,knockout.js,Jquery,Arrays,Knockout.js,我的耳环是这样的: self.DisplayMessageCollection = ko.observableArray(); 我正在获取一个集合并将项目推送到DisplayMessageCollection中,如下所示: self.DisplayMessageCollection.push({ messageid: msgid, loader

我的耳环是这样的:

self.DisplayMessageCollection = ko.observableArray();
我正在获取一个集合并将项目推送到
DisplayMessageCollection
中,如下所示:

self.DisplayMessageCollection.push({                            
                        messageid: msgid,
                        loader: 'block',
                        uploadopacity: 'uploadopacity',
                        sentstatus: 'Wait',
                        Chattype: self.ToChatType()
                    });
我需要从该数组中以逗号分隔的字符串形式获取所有
messageid
字段值

我知道我可以循环所有项目并获得
messageid
值。但是我想知道我们是否可以查询
ObservalArray
,也就是说,以某种方式执行单个查询以获取所有字段值作为逗号分隔的字符串?

您可以使用基础数组上的内置数组,然后使用来获取逗号分隔的字符串:

self.DisplayMessageCollection().map(function(i) { return i.messageid }).join(",")

如果您多次需要此逻辑,您可以为可观察数组创建一个数组。

您可以使用KO-utils映射数组并加入值。像这样:

var messages = ko.utils.arrayMap(self.DisplayMessageCollection(), function(item) {
     return item.messageid;
}).join(',');

但是,这实际上与Nemesv的解决方案相同。

您可以使用
map
,然后在底层数组
self.DisplayMessageCollection().map(函数(i){return i.messageid})上使用
join
@萨提亚,这应该行得通。cheers@nemesv你应该把这句话作为我的回答。