JavaScript:遍历多维数组并提取多个搜索值
JavaScript: Iterating through multi-dimensional arrays and extracting multiple search values
我想做的事情:
使用多个搜索字符串搜索多维数组。
我目前正在做的事情示例:
var multiArray = [['Apples and pears', 'tuna salad'],['bananas tuna'],['the colour blue']];
var singleArray = [];
var match_array = [];
// Turn multiple arrays into one big one
for (var i = 0; i < multiArray.length; i++) {
for (var x = 0; x < multiArray[i].length; x++) {
singleArray.push(multiArray[i][x]);
}
}
// Create a new array from matched strings
function find_match(to_match) {
for (var i in singleArray) {
if (singleArray[i].indexOf(to_match)!= -1)
match_array.push(singleArray[i]);
}
return (match_array.length === 0 ? null : match_array);
}
// Find matching terms for match_array
find_match('tuna');
find_match('the');
alert(match_array);
JSFiddle演示
问题:
显然,这是一种杂乱无章的方式。这怎么可能流线型(即直接搜索
multiArray
,而不使用多个find_match
功能(?如何只获得精确的字符串匹配,最好不分解多维数组?
你对搜索海量内容有什么想法多维数组?
你想要这样的东西吗?
var multiArray = [['Foo', 'Bar'],['Foo'],['Bar']];
var singleArray = [];
var match_array = [];
// Turn multiple arrays into one big one
for (var i = 0; i < multiArray.length; i++) {
for (var x = 0; x < multiArray[i].length; x++) {
singleArray.push(multiArray[i][x]);
}
}
// Create a new array from matched strings
function find_match(to_match, where_search) {
for (var j in where_search) {
if(where_search[j] instanceof Array){
find_match(to_match, where_search[j]);
}else{
for (var i in to_match) {
if (where_search[j].indexOf(to_match[i]) ==0 &&
where_search[j].length == to_match[i].length)
match_array.push(where_search[j]);
}
}
}
return (where_search.length === 0 ? null : match_array);
}
// Find matching terms for match_array
find_match(['Foo', 'Bar'],multiArray);
alert(match_array);
相关文章:
- 用程序搜索JQuery数据表中的文本
- 在html Select中添加搜索
- Ajax Live搜索发布到Laravel视图
- 谷歌放置API:按国家或餐馆名称搜索餐馆
- 学生搜索项目jquery/javascript
- 用于搜索的聚合物嵌套绑定
- 在javascript中搜索具有重复值的两个数组中的匹配值
- 在数据提取完成之前进行页面渲染
- 给定带有位置“loc”的链接,搜索使用谷歌地图API从标记中提取纬度和经度
- 从 jQuery 中的 URL 中提取搜索查询
- 在提取的文本 JavaScript 中搜索关键字
- 检测谷歌即时搜索并从URL中提取搜索关键字
- 当搜索成功后搜索文本框为空时,不会提取所有数据列表
- 从谷歌搜索中提取数据
- JavaScript:遍历多维数组并提取多个搜索值
- 如何扫描文本文件并根据Javascript中的搜索标准从中提取数据
- 使用javascript从谷歌搜索中提取任何链接
- 提取选择列表的值并使用它来搜索ID值会导致所有剩余的JavaScript失效
- Google Apps脚本,用于从电子邮件正文中搜索和提取电子邮件地址并保存到spreadshet
- 解释如何使用Jquery从twitter搜索API提取数据并在HTML上打印