使用javascript搜索有限的手动索引
Using javascript to search a limited and manually made index
我有几个带有多媒体内容(flash)的页面,我希望能够通过一个页面搜索它的内容。
由于它的内容是不可搜索的,并且我有一个文档,其中所有的文字/图像描述将出现在每个页面中,我正在考虑将此内容写在几个页面中,将它们链接到具有多媒体内容的相应页面,并使用搜索引擎索引此信息。
但是这看起来过于复杂了。所以我认为使用javascript和插入每个页面的关键字到它自己的数组,当用户搜索它与每个数组和打印的比较:"此内容可在以下页面获得:"
这看起来很简单,但我想听听更有经验的人的意见:要么解决我将要遇到的问题;-或更好/更容易的解决方案。
我请求任何投稿的人考虑到我在编程方面没有那么丰富的经验。
这听起来像是Array.prototype.filter
的工作。
您还没有描述数据结构,所以我假设Object s的数组。
假设你有这样的数据结构,
var all_items = [
{url: 'a', title:'First Entry', description:'Foo'},
{url: 'b', title:'Second Entry', description:'Bar'},
{url: 'c', title:'Third Entry', description:'FooBar'}
// etc..
];
你可以写一个基于.filter
的搜索函数,像这样
function search(arr, str, url /* =true */, title /* =true */, desc /* =false */) {
var src_fnc;
// set true defaults
if (undefined === url) url = true;
if (undefined === title) title = true;
// toBool
url = url && true || false;
title = title && true || false;
desc = desc && true || false;
// make function
src_fnc = function (e) {
if (url && e.url.indexOf(str) >= 0) return true;
if (title && e.title.indexOf(str) >= 0) return true;
if (desc && e.description.indexOf(str) >= 0) return true;
return false;
};
return arr.filter(src_fnc);
}
,然后调用
search(all_items, 'ir');
/* [
{url: 'a', title:'First Entry', description:'Foo'},
{url: 'c', title:'Third Entry', description:'FooBar'}
] */
相关文章:
- 在JavaScript中通过索引从对象数组中获取值
- Javascript:根据对象的嵌套数组中的值,在数组中查找对象的索引
- 用javascript查询lucene索引
- Javascript获取所有锚链接的索引
- 传递给 PHP 表单时 JavaScript 动态变量上的未定义索引
- 强制谷歌为javascript背景图像编制索引
- 是否有任何Javascript函数从指定的索引中进行正则表达式匹配
- 到UpperCase字符串Javascript中的特定字符索引
- 用类javascript包装span标记中字符串中的字符索引
- Javascript:foreach跳过第一个索引(0)
- 获取javascript中输入元素的索引
- Javascript排序索引链接数组
- For循环with oit索引javascript
- 无法获取页面上单选按钮的值或索引.[Javascript]
- JavaScript 获取最后一个重复值索引 JavaScript
- 随机图像出现z索引javascript延迟
- 如何使用行索引javascript禁用getelement()
- 查找一个字符的索引- JavaScript
- 删除一个键后重新索引javascript数组/对象
- 索引javascript数组出现问题