0

我在我的网站中使用 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");

似乎比每个人都习惯获得它的方式。

有人可以帮助我吗?

4

1 回答 1

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();
于 2015-09-30T05:38:36.070 回答