如何在数组中一个接一个地出现一对值?

时间:2016-11-23 02:36:39

标签: javascript

我想知道如何做一些很多人可能会觉得简单的事情,但我正在努力解决这个问题。

示例:

var colours = [red, brown, yellow, black, white, brown, yellow, green, blue, brown, yellow];

每当brownyellow之前做某事时。或者yellowbrown做某事之后立即到来。

1 个答案:

答案 0 :(得分:1)

你可以将它包装在一个函数中,该函数接受数组,一对要查找的项,以及每次在数组中找到对时执行的回调函数。

var colors = ['red', 'brown', 'yellow', 'black', 'white', 'brown', 'yellow', 'green', 'blue', 'brown', 'yellow'];

handlePair(colors, ['brown', 'yellow'], () => {
  console.log('yellow follows brown');
});

handlePair(colors, ['green', 'blue'], () => {
  console.log('blue follows green');
});

function handlePair(array, pair, callback) {
  for (var i = 1; i <= array.length; i++) {
    if (array[i] === pair[1] && array[i - 1] === pair[0]) {
      callback();
    }
  }
}