从数组中删除相同的条目并保持其长度不变 - JavaScript

javascriptweb developmentfront end technologyobject oriented programming更新于 2025/12/19 16:44:17

我们必须编写一个函数,该函数接收一个数组,从中删除所有重复项并在末尾插入相同数量的空字符串。

例如 −

如果我们发现四个重复的值,我们必须将其全部删除并在末尾插入四个空字符串。

示例

以下是代码 −

const arr = [1,2,3,1,2,3,2,2,3,4,5,5,12,1,23,4,1];
const deleteAndInsert = arr => {
   const creds = arr.reduce((acc, val, ind, array) => {
      let { count, res } = acc;
      if(array.lastIndexOf(val) === ind){
         res.push(val);
      }else{
         count++;
      };
      return {res, count};
   }, {
      count: 0,
      res: []
   });
   const { res, count } = creds;
   return res.concat(" ".repeat(count).split(" "));
};
console.log(deleteAndInsert(arr));

输出

这将在控制台中产生以下输出 −

[
   2,  3,  5,  12, 23, 4,  1,
   '', '', '', '', '', '', '',
   '', '', '', ''
]

相关文章


有用资源