首页 > 解决方案 > Javascript 按文本搜索对象

问题描述

我将如何在 javascript 中编写一个通用函数,该函数将在对象数组上搜索得到我的结果。

例如,假设我有一个对象数组。

var arr= [
   {a: 1011, b: "abc"}, 
   {a: 2012, b: "abd"}, 
   {a: 2013, b: "cbde"}, 
   {a: 2014, b: "xyz"}
];

Search(arr,"101") 将返回数组下方

 [{a: 1011, b: "abc"}]

并且 Search(arr,"bd") 将返回数组下方

[{a: 2012, b: "abd"}, 
 {a: 2013, b: "cbde"}]

标签: javascripttypescript

解决方案


谢谢杰夫的回答。使用 Jeff's answer 的解决方案。

function filter(data,txt ) {
  return data.filter(e => {
     const entries = Object.entries(e);
     return entries.some(entry=>entry[1]?entry[1].toString().includes(txt):false);
  });
}

推荐阅读