кодесурса
«JavaScript

JavaScript: Проверьте, похожи ли два массива целых одинаковой длины или нет

script1adsense2code
script1adsense3code

JavaScript Basic: Упражнение-87 с решением

Напишите программу на JavaScript, чтобы проверить, одинаковы ли два массива целых чисел или нет. Массивы будут похожи, если один массив можно получить из другого массива путем замены не более одной пары элементов.

Иллюстрированная презентация:

«JavaScript:

Пример решения:

HTML-код:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>Write a JavaScript program to check whether two arrays of integers of same length are similar or not. The arrays will be similar if one array can be obtained from another array by swapping at most one pair of elements</title>
</head>
<body>
</body>
</html>

Код JavaScript:

function array_checking(arra1, arra2) {
  for(var i = 0; i < arra1.length; i++) {
    for(var j = i; j < arra1.length; j++) {
      var result = true,
        temp = arra1[i];
      arra1[i] = arra1[j];
      arra1[j] = temp;
      for(var k = 0; k < arra1.length; k++) {
        if(arra1[k] !== arra2[k]) {
          result = false;
          break;
        }
      }
      if(result) {
        return true;
      }
      arra1[j] = arra1[i];
      arra1[i] = temp;
    }
  }
  return false;
}
console.log(array_checking([10,20,30], [10,20,30]))
console.log(array_checking([10,20,30], [30,10,20]))
console.log(array_checking([10,20,30,40], [10,30,20,40]))

Пример вывода:

 правда
ложный
правда

Блок - схема:

«Блок-схема:

Версия ES6:

function array_checking(arra1, arra2) {
  for(let i = 0; i < arra1.length; i++) {
    for(let j = i; j < arra1.length; j++) {
      let result = true;
      const temp = arra1[i];
      arra1[i] = arra1[j];
      arra1[j] = temp;
      for(let k = 0; k < arra1.length; k++) {
        if(arra1[k] !== arra2[k]) {
          result = false;
          break;
        }
      }
      if(result) {
        return true;
      }
      arra1[j] = arra1[i];
      arra1[i] = temp;
    }
  }
  return false;
}
console.log(array_checking([10,20,30], [10,20,30]))
console.log(array_checking([10,20,30], [30,10,20]))
console.log(array_checking([10,20,30,40], [10,30,20,40]))

Демонстрация в реальном времени:

См. Pen javascript-basic-упражнение-87 от w3resource ( @ w3resource ) в CodePen .


Внесите свой код и комментарии через Disqus.

Предыдущий: Напишите программу на JavaScript, чтобы найти типы данного массива.
Далее: Напишите программу на JavaScript, чтобы проверить, являются ли два заданных целых числа одинаковыми или нет, если данный делитель делит оба целых числа и тоже не делит.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code