从字典中获取所有值

时间:2015-09-29 22:25:21

标签: linq.js

我在我的网站上使用linqjs,并且我试图获取填充了toDictionary()库扩展名的字典的所有值。

这是我的代码:

var imagesDictionary = Enumerable.from(data)
    .select(function (x) {
        var images = Enumerable.from(x.ImagesSections)
            .selectMany(function (y) {
                return Enumerable.from(y.Images)
                    .select(function (z) {
                        return z.Thumb;
                    });
            })
            .toArray();

        return { Title: x.Title, Images: images };
    })
    .toDictionary("$.Title", "$.Images");

var imagesToPreload = imagesDictionary.toEnumerable()
    .selectMany("$.Value");

我希望 imagesToPreload 成为字典中包含的所有图像的数组,但我无法理解如何做到这一点:

var imagesToPreload = imagesDictionary.toEnumerable()
                .selectMany("$.Value");

似乎比所有人都习得的那样。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

由于您似乎正在使用linqjs 3 beta版本,因此条目的格式已更改。这些属性现在是小写的。

var imagesDictionary = Enumerable.from(data)
    .toDictionary("$.Title",
        "Enumerable.from($.ImagesSections).selectMany('$.Images', '$$.Thumb').toArray()"
    );

var imagesToPreload = imagesDictionary.toEnumerable()
    .selectMany("$.value") // lowercase 'value'
    .toArray();