проверка значения пары в массиве - PullRequest
0 голосов
/ 18 декабря 2018

здесь я хочу спросить о том, как проверить данные в массиве, если не совпадает значение / данные в следующем индексе, вставить его в новый массив,

, вот пример:

function check(arr){
  let text = "";
  let newArr = [];
for(let i = 0 ; i < arr.length-1 ; i++){
  if(arr[i] !== arr[i+1]){
    text = arr[i] + ' and ' + arr[i+1];
    newArr.push(text)
  }
}
return newArr
};

console.log(check([ 'A', 'A', 'M', 'Y', 'I', 'W', 'W', 'M', 'R', 'Y' ])) 
// output "A and M", "A and Y", "I and W", "W and M",  "R and Y"]
console.log(check([ 'a', 'b', 'j', 'j', 'i', 't' ]))

мой результат здесь не тот, который я хочу, он был повторен для данных, которые я уже нажимаю.в newArr

я хочу ouput вот так:

["A and M", "A and Y", "I and W", "W and M",  "R and Y"]

, поскольку каждый массив не совпадает с начальным,

я надеюсь, что этот вопрос имеет смысл

1 Ответ

0 голосов
/ 18 декабря 2018

Вы можете сделать следующее:

function check(arr) {
  let text = "";
  let newArr = [];
  for (let i = 0, next = 0; i < arr.length; i++) {
    if (next == 2) {
      next = 0;
      i += 2;
    }
    if (arr[i + 1] !== undefined) {
      if (arr[i + 2] !== undefined) {
        text = arr[i] + ' and ' + arr[i + 2];
      } else {
        text = arr[i] + ' and ' + arr[i + 1];
      }
      newArr.push(text)
    }
    next += 1;
  }
  return newArr
};

console.log(check(['A', 'A', 'M', 'Y', 'I', 'W', 'W', 'M', 'R', 'Y']))
console.log(check(['a', 'b', 'j', 'j', 'i', 't']))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...