2016-09-06 23 views
2

我有一個包含對象的JavaScript數組,其中包含一個id,書名爲usw,我需要搜索它並獲得標題,使用linqjs 。我如何使用linqjs獲得具有特定標識的書名

例子:

「213-46-8915」:ID
「繁忙的行政人員的數據庫GUID」:標題

<script> 
    var books = []; 
    books.push(["213-46-8915" , "The Busy Executive's Database Guid",19.9900,2]); 
    books.push(["211-44-2314" , "The Busy Executive's Database Guid",14.4100,5]); 
</script> 

我嘗試:

var filtered = Enumerable 
       .From(books) 
       .Where(function (x) {return x.contains(id);}) 
       .Select(function (x) {return x;}) 
       .ToArray() 
+1

我覺得你不是故意要選擇C#的LINQ但[jslinq(https://jslinq.codeplex.com/)作爲標籤 –

回答

0

按照documentation,您必須先致電JSLINQ(array)

所以,舉個例子。這應該工作。另外,我將你的數組轉換爲一個對象

var books = []; 
books.push({ 
    id: "213-46-8915", 
    title: "The Busy Executive's Database Guid", 
    price: 19.9900, 
    quantity: 2 
}); 

var filtered = JSLINQ(books) 
       .Where(function(item) { return item.id == "213-46-8915"; }) 
       .Select(function(item) { return item; }); 

console.log(filtered.id); //213-46-8915 
0

你可以用普通的JavaScript來做到這一點。這裏是返回按id過濾的書籍數組數組的代碼。

var books = []; 
 
books.push(["213-46-8915" , "The Busy Executive's Database Guid",19.9900,2]); 
 
books.push(["211-44-2314" , "The Busy Executive's Database Guid",14.4100,5]); 
 
var id = '211-44-2314'; 
 
var result = books.filter(function(b){ return b[0]==id; }); 
 
console.log(result);

相關問題