2016-09-06 3 views
2

id、書籍のタイトルuswを含むオブジェクトを含むJavaScript配列を持っています。これを検索し、linqjs 。linqjsを使用して特定のIDを持つ本のタイトルを取得するには

例:

"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);

関連する問題