gpt4 book ai didi

javascript - 当我在对象数组中键入时,如何查看数组的每个实例中是否存在字符?

转载 作者:行者123 更新时间:2023-11-28 03:41:22 25 4
gpt4 key购买 nike

我一直在努力解决这个问题,所以我想我应该来这里寻找解决方案。我正在尝试过滤数组中的对象,以仅显示其中包含“h”的对象。这就是我的对象数组的构造方式:

Object.keys(data.jello).forEach(function (id, SomeSearchValue) {
var jello = data.jello[id];
array.push({
id: jello.id,
name: jello.name,
type: 'foo',
});
}

例如,假设我的数组包含此名称。

array[blue, red, green, apple, abigail, alien] 

所以,我有一个对象数组。在搜索栏中输入“a”,然后我的数组结果就是名称中包含字母“a”的所有对象。所以...

array[abigail, alien]

然后我输入“b”,所以我的搜索现在是“ab”,我的数组是...

array[abigail]

那么我用 jQuery 来实现这个的代码是什么呢?我最困惑的部分是用户在不使用 ajax 的情况下键入内容时的实际搜索。

我正在使用 jQuery。我尝试过诸如 jQuery.grep()inArray() 之类的东西,但似乎无法搜索包含。我也尝试过 array.includes() 。感谢您的帮助!

最佳答案

使用Array#filter()

jQuery $.grep() 基本上是相同的东西,但也适用于 jQuery 对象。

以下假设您只想在 name 属性中搜索,并且接受在名称的任何部分而不是仅在开头找到的术语

const data = [{name:'blue'}, {name:'red'}, {name:'green'}, {name:'apple'}, {name:'abigail'}, {name:'alien'}];

const term ='ab';

const filtered = data.filter(({name}) => name.toLowerCase().includes(term.toLowerCase()))
// or use startsWith() to only match beginning of string

console.log(filtered)

关于javascript - 当我在对象数组中键入时,如何查看数组的每个实例中是否存在字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57280970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com