我在我的网站上使用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");
似乎比所有人都习得的那样。
有人可以帮助我吗?
答案 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();