使用 JavaScript 中的 URL 值从数组中删除重复项
javascriptweb developmentfront end technologyobject oriented programming
假设我们有一个像这样的对象数组 −
const arr = [ { url: 'www.example.com/hello', id: "22" }, { url: 'www.example.com/hello', id: "22" }, { url: 'www.example.com/hello-how-are-you', id: "23" }, { url: 'www.example.com/i-like-cats', id: "24" }, { url: 'www.example.com/i-like-pie', id: "25" } ];
我们需要编写一个 JavaScript 函数,该函数接受一个这样的对象数组。该函数应从数组中删除具有重复 id 键的对象。我们需要在不使用任何库(如 underscore)的情况下执行此操作。
让我们为该函数编写代码 −
示例
其代码为 −
const arr = [ { url: 'www.example.com/hello', id: "22" }, { url: 'www.example.com/hello', id: "22" }, { url: 'www.example.com/hello−how−are−you', id: "23" }, { url: 'www.example.com/i−like−cats', id: "24" }, { url: 'www.example.com/i−like−pie', id: "25" } ]; const removeDuplicate = (arr = []) => { const map = {}; for(let i = 0; i < arr.length; ){ const { id } = arr[i]; if(map.hasOwnProperty(id)){ arr.splice(i, 1); }else{ map[id] = true; i++; }; }; }; removeDuplicate(arr); console.log(arr);
输出
控制台中的输出将是 −
[ { url: 'www.example.com/hello', id: '22' }, { url: 'www.example.com/hello-how-are-you', id: '23' }, { url: 'www.example.com/i-like-cats', id: '24' }, { url: 'www.example.com/i-like-pie', id: '25' } ]