gpt4 book ai didi

javascript - 通过多个属性过滤对象的最快方法

转载 作者:行者123 更新时间:2023-12-03 02:01:32 35 4
gpt4 key购买 nike

我有一个对象数组,我想过滤其中的字符串。所以我想检查多个属性是否包含过滤字符串(不区分大小写)。

这是数组:

[{
id: "01234",
name: "My Object 01234",
short_name: "MO01234"
}, ...]

因此以下所有过滤字符串都应与该对象匹配:0123objmO01 等。

这是我现在所拥有的:

const filterString = this.filterString.toLowerCase();
return myObjects.filter(
entry => {
return
entry.id.toLowerCase().indexOf(filterString) >= 0 ||
entry.name.toLowerCase().indexOf(filterString) >= 0 ||
entry.short_name.toLowerCase().indexOf(filterString) >= 0;
}
);

你能想出一种更快/更干净的方法吗?

最佳答案

我不认为你可以做得更快,但更干净可能是这样的

const filterString = this.filterString.toLowerCase();
return myObjects.filter((entry) => {
return Object.values(entry).some((value) => {
return value.toLowerCase().includes(filterString)
})
});

关于javascript - 通过多个属性过滤对象的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49997189/

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