JavaScript 波峰波谷算法实现

简介

在这篇文章中,我将教你如何实现 JavaScript 波峰波谷算法。这个算法可以让你找到一个数组中的所有波峰和波谷。首先,让我们来看一下整个流程的步骤。

流程步骤

步骤 描述
1 遍历数组,找出所有的波峰和波谷
2 返回波峰和波谷的索引数组

实现步骤

步骤1:遍历数组,找出所有的波峰和波谷

// 定义一个空数组用于存放波峰和波谷的索引
let result = [];

for (let i = 1; i < arr.length - 1; i++) {
    if (arr[i] > arr[i - 1] && arr[i] > arr[i + 1]) {
        // 当前元素大于前一个元素和后一个元素,说明是波峰
        result.push(i);
    }
    if (arr[i] < arr[i - 1] && arr[i] < arr[i + 1]) {
        // 当前元素小于前一个元素和后一个元素,说明是波谷
        result.push(i);
    }
}

步骤2:返回波峰和波谷的索引数组

return result;

示例

让我们来看一个示例,假设我们有一个数组 [1, 3, 6, 4, 1, 2, 9, 5, 7],我们调用上面的波峰波谷算法函数,得到的结果将是 [2, 6, 1, 4, 7],分别代表数组中的波峰和波谷的索引。

总结

通过以上步骤,我们成功实现了 JavaScript 波峰波谷算法。希望这篇文章能帮助你理解这个算法的实现过程,并能够在实际项目中应用它。如果有任何问题,欢迎留言讨论。祝你编程顺利!