0
我想对List.js的搜索功能执行正则表达式。默认情况下它的工作原理是它搜索整个句子中存在的单词。我想要实现的是它应该搜索一个句子开始的单词。如何在listjs hackerlist上执行Regex?
在上面的图片中,可以看到“被”在所有4句存在,但我只希望它短名单,其中“被”是每句的第一个字。
我想对List.js的搜索功能执行正则表达式。默认情况下它的工作原理是它搜索整个句子中存在的单词。我想要实现的是它应该搜索一个句子开始的单词。如何在listjs hackerlist上执行Regex?
在上面的图片中,可以看到“被”在所有4句存在,但我只希望它短名单,其中“被”是每句的第一个字。
谢谢你们的建议。现在我已经通过修改核心list.js文件完成了一个解决方法。我换成:
var search = {
list: function() {
for (var k = 0, kl = list.items.length; k < kl; k++) {
search.item(list.items[k]);
}
},
item: function(item) {
item.found = false;
for (var j = 0, jl = columns.length; j < jl; j++) {
if (search.values(item.values(), columns[j])) {
item.found = true;
return;
}
}
},
values: function(values, column) {
if (values.hasOwnProperty(column)) {
text = toString(values[column]).toLowerCase();
if ((searchString !== "") && (text.search(searchString) > -1)) {
return true;
}
}
return false;
},
reset: function() {
list.reset.search();
list.searched = false;
}
};
随着
if (typeof String.prototype.startsWith != 'function') {
// see below for better implementation!
String.prototype.startsWith = function (str) {
return this.indexOf(str) === 0;
};
}
var search = {
list: function() {
for (var k = 0, kl = list.items.length; k < kl; k++) {
search.item(list.items[k]);
}
},
item: function(item) {
item.found = false;
for (var j = 0, jl = columns.length; j < jl; j++) {
if (search.values(item.values(), columns[j])) {
item.found = true;
return;
}
}
},
values: function(values, column) {
if (values.hasOwnProperty(column)) {
text = toString(values[column]).toLowerCase();
if ((searchString !== "") && (text.startsWith(searchString))) {
return true;
}
}
return false;
},
reset: function() {
list.reset.search();
list.searched = false;
}
};
说明: 我创建startsWith功能(在计算器中),检查搜索字符串是否与给定句子的准确字符开头,并修改的值功能父母搜索块。并用我的startsWith函数替换了text.search()函数。
你可能会尝试类似这样的'(?:^ | [!?\。])\ s * Was',你可以匹配一行或标点符号的开头,然后是可选空格和关键字 – bro
I认为你可能想为它编写自己的插件... – nhahtdh
[*'options.sortFunction'用于如果你想创建自己的排序函数。*](http://www.listjs.com/docs/list -API#排序)。我想正确的方法是编写这个函数(也许,通过采取[这个默认的](https://github.com/javve/natural-sort/blob/master/index.js)和写你的基础上)并将其传递给排序方法。 –