Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.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_Reactjs - Fatal编程技术网

Javascript 从数组中删除字符串

Javascript 从数组中删除字符串,javascript,reactjs,Javascript,Reactjs,我试图从浏览历史中创建一个对象数组,这些对象可以成为React列表中的链接 这样做的目的是获取history元素并将其推送到user对象,然后获取名称和ID,并将其拼接回数组中。然后我将其过滤为不同的值 剩下的是一个如下所示的数组: [{id1,name1},{id2,name2},{id3,name3},id1,id2,id3] 这几乎正是我想要的,除非我要映射它来创建链接,我需要去掉字符串值 我突然想到要跳过history元素,只做一个匹配数组,以及其他任何事情。 pop和shift不能隔离

我试图从浏览历史中创建一个对象数组,这些对象可以成为React列表中的链接

这样做的目的是获取history元素并将其推送到user对象,然后获取名称和ID,并将其拼接回数组中。然后我将其过滤为不同的值

剩下的是一个如下所示的数组:

[{id1,name1},{id2,name2},{id3,name3},id1,id2,id3] 这几乎正是我想要的,除非我要映射它来创建链接,我需要去掉字符串值

我突然想到要跳过history元素,只做一个匹配数组,以及其他任何事情。 pop和shift不能隔离第一个对象,因为整个函数会连续返回单个项

这是我得到接近我想要的结果的唯一方法,我只需要一种简单的方法,在创建数组之后,或者在映射之前,从数组中过滤出字符串值

const getLead=async\u id=>{ const res=wait axios.get`/api/leads/${u id}`; 派遣{ 类型:获取线索, 有效载荷:res.data }; 常量{name}=res.data 常量匹配={name,_id} const setPrevious==>{ const prevLeads=user.prevLeads const history=createBrowserHistorygetLead; const prevLead=history.location.pathname.slice6; prevLeads.pushprevLead; 返回潜在客户; } const prevLeads=setPrevious; 常量[…拼接引线]=前置引线。拼接0,1,匹配,匹配; const distinct=值、索引、self=>{ 返回self.indexOfvalue===索引; } const recentlerads=prevLeads.filterdistinct; 控制台。逻辑连接导线 } 您只需检查.filter逻辑中的类型:

常量数组=[ {test:'ing'}, 1. 新日期, “这应该被删除” ]; const result=array.filtere=>typeof e!='字符串';
console.logresult 已经提供的解决方案就像charm一样工作,应该用于您的解决方案,下面我提供了一种不同的方法来确定元素是否为字符串

我想这是一种测试数组中每个元素并只返回一次传递结果的好方法。如果调用每个项Object.prototype.toString.calle,那么如果您有[Object String]或其他内容,它将作为文本返回。这也可用于从数组中筛选出字符串值

请参见下面的示例:

const prevLeads=[{id:'id1',name:'name1'},{id:'id2',name:'name2'},{id:'id3',name:'name3'},id1,id2,id3]; const filter=e=>Object.prototype.toString.calle!='[对象字符串]; const recenterads=prevLeads.filterfilter; console.logrecenterads;使用您的_字符串的类型=='string'?:prevLeads.filtere=>typeof e!='字符串'