如果项的键(数组)包含来自另一个数组的每个值,如何提取项?

时间:2013-10-29 02:27:19

标签: javascript arrays indexeddb

我是IndexedDB的新手。我想把这种数据放到索引数据库中:

 var items = [{
     title: 'A',
     tags: ['h', 'f', 'g', 's', 't']
 }, {
     title: 'B',
     tags: ['g', 'i', 'm']
 }, {
     title: 'C',
     tags: ['f', 'l', 't', 'd']
 }, {
     title: 'D',
     tags: ['i', 'u', 'v']
 }, {
     title: 'E',
     tags: ['i', 'g']
 }];  

此外,另一个数组将作为我最喜欢的标签的来源:

 var tagsArray = ['g', 'i']  

(当然,这个数组可能包含任意数量的标签,而不仅仅是两个) 我想从tagsArray中提取包含每个标记的所有项目并获取此数组:

 var result = [{
     title: 'B',
     tags: ['g', 'i', 'm']
 }, {
     title: 'E',
     tags: ['i', 'g']
 }]  

但即使在objectStore.createIndex('tags', 'tags', {multiEntry: true, unique: false})之后,我也不知道该怎么走。我甚至不知道用于multiEntryunique参数到底是什么。 indexedDB是否仅在其键(Array)包含所提供的每个关键字时才允许提取项目?