Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果特定键包含搜索项,则筛选对象数组_Javascript_Arrays_Reactjs - Fatal编程技术网

Javascript 如果特定键包含搜索项,则筛选对象数组

Javascript 如果特定键包含搜索项,则筛选对象数组,javascript,arrays,reactjs,Javascript,Arrays,Reactjs,我试图通过一个特定的键过滤一个具有多个键/值对的对象。看来我写的代码正在搜索整个对象,而不管键是什么 如果关键字名称包含搜索项,请返回搜索项 对象数组: 搜索: 因此,如果我搜索某个对象,我只希望它通过名称循环搜索该术语…您不需要Object.keys循环 常量someArrayOfObjects=[ {id:'1',name:'Something'}, {id:'2',name:'other'}, {id:'3',name:'让我们再做一件'}, ]; 让key='name'; 设searc

我试图通过一个特定的键过滤一个具有多个键/值对的对象。看来我写的代码正在搜索整个对象,而不管键是什么

如果关键字名称包含搜索项,请返回搜索项

对象数组:

搜索:

因此,如果我搜索某个对象,我只希望它通过名称循环搜索该术语…

您不需要Object.keys循环

常量someArrayOfObjects=[ {id:'1',name:'Something'}, {id:'2',name:'other'}, {id:'3',name:'让我们再做一件'}, ]; 让key='name'; 设searchTerm='th'; const res=someArrayOfObjects.filtero=> o[key].toLowerCase.includesearchterm.toLowerCase; console.logres 您不需要Object.keys循环

常量someArrayOfObjects=[ {id:'1',name:'Something'}, {id:'2',name:'other'}, {id:'3',name:'让我们再做一件'}, ]; 让key='name'; 设searchTerm='th'; const res=someArrayOfObjects.filtero=> o[key].toLowerCase.includesearchterm.toLowerCase;
console.logres 与iota类似,您不需要使用Object.key创建额外的数组。 只需使用“name”键循环/检查原始数组中的每个项。 您还可以尝试使其更易于重用,如下所示

const someArrayOfObjects = [
  { id: '1', name: 'Something' },
  { id: '2', name: 'Another' },
  { id: '3', name: 'Lets do one more' },
];

const search = function (anyArray, searchTerm) {
  return anyArray.filter((obj) => {
    if (obj.name === searchTerm) {
      return obj.name;
    }
    return false;
  });
};

const case1 = search(someArrayOfObjects, 'Something');
console.log(case1);

与iota类似,您不需要使用Object.key创建额外的数组。 只需使用“name”键循环/检查原始数组中的每个项。 您还可以尝试使其更易于重用,如下所示

const someArrayOfObjects = [
  { id: '1', name: 'Something' },
  { id: '2', name: 'Another' },
  { id: '3', name: 'Lets do one more' },
];

const search = function (anyArray, searchTerm) {
  return anyArray.filter((obj) => {
    if (obj.name === searchTerm) {
      return obj.name;
    }
    return false;
  });
};

const case1 = search(someArrayOfObjects, 'Something');
console.log(case1);
const someArrayOfObjects = [
  { id: '1', name: 'Something' },
  { id: '2', name: 'Another' },
  { id: '3', name: 'Lets do one more' },
];

const search = function (anyArray, searchTerm) {
  return anyArray.filter((obj) => {
    if (obj.name === searchTerm) {
      return obj.name;
    }
    return false;
  });
};

const case1 = search(someArrayOfObjects, 'Something');
console.log(case1);