是否可以在数组中搜索一串文本,然后返回包含它的对象的内容?
例如:
<script>
var itemsArray = ["2Bedroom Ensuite 2Bathroom", "1Bedroom Ensuite 1Bathroom", "3Bedroom 2Bathroom"];
var searchTerm = 'ensuite';
var results = $.searchThing('itemsArray', searchTerm);
document.write(results);
</script>
上面的假设脚本(其中 'searchThing' 是方法 - 如果存在)应该写
2Bedroom Ensuite 2Bathroom
2Bedroom Ensuite 2Bathroom
这存在吗?如何做呢?
谢谢
最佳答案
您可以使用 ES5 Array.prototype.filter
方法:
var results = itemsArray.filter(function (elem) {
return elem.toLowerCase().indexOf(searchTerm) > -1;
});
请注意,较旧的浏览器不支持
.filter()
方法。支持那些浏览器 you can use a polyfill 。编辑:您还可以使用 jQuery
$.grep()
实用程序函数:var results = $.grep(itemsArray, function(elem) {
return elem.toLowerCase().indexOf(searchTerm) > -1;
});
关于javascript - jQuery - 返回数组中包含文本字符串的所有对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21944799/