假设我们有一个像这样的对象数组-
const arr = [{ 'title': 'Hey', 'foo': 2, 'bar': 3 }, { 'title': 'Sup', 'foo': 3, 'bar': 4 }, { 'title': 'Remove', 'foo': 3, 'bar': 4 }];
我们需要编写一个JavaScript函数,该函数将一个数组作为第一个输入,并将字符串文本数组作为第二个输入。
然后,我们的函数应该准备一个新数组,其中包含所有那些其title属性部分或完全包含在第二个文字输入数组中的对象。
为此的代码将是-
const arr = [{ 'title': 'Hey', 'foo': 2, 'bar': 3 }, { 'title': 'Sup', 'foo': 3, 'bar': 4 }, { 'title': 'Remove', 'foo': 3, 'bar': 4 }]; const filterTitles = ['He', 'Su']; const filterByTitle = (arr = [], titles = []) => { let res = []; res = arr.filter(obj => { const { title } = obj; return !!titles.find(el => title.includes(el)); }); return res; }; console.log(filterByTitle(arr, filterTitles));
输出结果
控制台中的输出将是-
[ { title: 'Hey', foo: 2, bar: 3 }, { title: 'Sup', foo: 3, bar: 4 } ]