美文网首页
Javascript算法:合并数组中相邻且重复的元素

Javascript算法:合并数组中相邻且重复的元素

作者: 尤小小 | 来源:发表于2019-03-29 10:11 被阅读0次

    技术群里有人扔出来一道算法题。练手玩玩。

    说明:请实现一个函数 merge,传入一个数组,合并数组中【相邻且重复】的元素。

    示例:

    merge([3,2,2,4,5,5,6,2,1]); // 输出[3,2,4,5,6,2,1]
    
    merge([3,2,3]); // 输出[3,2,3]
    
    merge([2,2,3]); // 输出[2,3]
    

    实现思路,循环遍历数组,当前元素如果跟上个元素不相等,就将当前元素插入到新数组,然后返回新数组,就是可以实现合并数组中【相邻且重复】的元素了。具体实现如下:

    function merge(arr) {
        let newArr = []
        arr.forEach((item, index) => {
            if(item != arr[index-1]) {
                newArr.push(item)
            }
        });
    
        return newArr
    }
    console.log(merge([2,2,3])); // 输出[2,3]
    console.log(merge([3,2,3])); // 输出[2,3]
    console.log(merge([3,2,2,4,5,5,6,2,1])); // 输出[2,3]
    

    相关文章

      网友评论

          本文标题:Javascript算法:合并数组中相邻且重复的元素

          本文链接:https://www.haomeiwen.com/subject/hqikbqtx.html