我试图在数组中找到一个字符串,所以有一个输入框,我输入要搜索的值。 所以我创建了一个模板驱动的表单,并在提交后将其值存储在变量中,如
onsubmit(){
let search=this.searchform.value
console.log(search)
}
所以在控制台中显示的值是
{search: "Bread"}
现在运行线路
let titles=this.itemlist.map(i=>i.title);
console.log(titles)
我有一个数组,其中包含元素
(2) ["Bread2", "Bread"]
如何在数组中搜索字符串,例如在提交表单后需要控制的变量“搜索”,需要在此数组中进行搜索
答案 0 :(得分:0)
如果您想知道数组中是否存在给定的字符串,并尝试使用此js函数来检索其索引,请执行以下操作:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var a = fruits.indexOf("Apple");
可以找到文档here
答案 1 :(得分:0)
尝试titles.includes(this.searchform.value)
或titles.indexOf(this.searchform.value) > -1
答案 2 :(得分:0)
onsubmit(){
let search = this.searchform.value
let titles = this.itemlist.map(i=>i.title);
let found1 = titles.filter(title => title === search.search)
let found2 = titles.filter(title => title.includes(search.search))
}
found1
包含完全匹配的标题。并且found2
包含标题,其中包含search.search
作为子字符串。
答案 3 :(得分:0)
您可以使用数组的includes
函数来查找值是否在数组中可用
let result = ["Bread2", "Bread"].includes("Bread");
如果字符串在数组中,则结果为
true
另一种方法是找到类似的索引
let arr = ["Bread2", "Bread"];
let index = arr.indexOf("Bread");
如果索引为-1,则此字符串在数组中不可用,否则字符串可用
console.log(arr[index]); //this will give value of string
答案 4 :(得分:-1)
像这样的过滤器
let titles=this.itemlist.map((i)=>
{
if(i.title===search) return i;
});