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

2019-03-29  本文已影响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]
上一篇下一篇

猜你喜欢

热点阅读