基于key查询Typescript数组集合

时间:2016-06-23 04:13:53

标签: javascript linq collections typescript

我是Typescript的新手。我在typescript中有一个类型的数组。基本上包含集合元素为

"ID": "669a8156-528c-43ba-8ed0-d07874534d1c",
"Name": "Temple",
"DeviceCount": "0",
"SiteCount": "0"
"ID": "5965ee85-2300-4c95-8743-b626f744082f",
"Name": "Building",
"DeviceCount": "2",
"SiteCount": "3"

..等等

如果我有 ID

,如何查询集合中的名称属性?

,类似于LINQ类型的表达式

var result = array.Where(item => item.ID == ID);

1 个答案:

答案 0 :(得分:5)

您可以使用JavaScript Array#filter方法,它返回一个匹配数组,与您的LINQ代码非常相似:

array.filter(item => item.ID === ID)[0].name;

您也可以使用Array#find,但这并不具备非常好的浏览器支持,因此您可能需要Opera和Internet Explorer的polyfill:

array.find(item => item.ID === ID).name;

阅读有关它的文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter