freeCodeCamp/curriculum/challenges/russian/02-javascript-algorithms-an.../basic-data-structures/iterate-through-all-an-arra...

5.7 KiB
Raw Blame History

id title challengeType videoUrl localeTitle
587d7b7b367417b2b2512b15 Iterate Through All an Array's Items Using For Loops 1 Итерация через все элементы массива с использованием циклов

Description

Иногда при работе с массивами очень удобно выполнять итерацию по каждому элементу, чтобы найти один или несколько элементов, которые могут нам понадобиться, или манипулировать массивом на основе того, какие элементы данных соответствуют определенному набору критериев. JavaScript предлагает несколько встроенных методов, каждый из которых перебирает несколько массивов несколькими разными способами для достижения разных результатов (например, each every() , forEach() , map() и т. Д.), Однако наиболее гибкий метод и предлагает нам наибольшую величина управления является простым for петли. Рассмотрим следующее:
функция largeThanTen (arr) {
пусть newArr = [];
для (пусть i = 0; i <arr.length; i ++) {
если (arr [i]> 10) {
newArr.push (обр [я]);
}
}
return newArr;
}

moreThanTen ([2, 12, 8, 14, 80, 0, 1]);
// возвращает [12, 14, 80]
Используя цикл for , эта функция выполняет итерации по каждому элементу массива и обращается к нему, и подвергает его простому тесту, который мы создали. Таким образом, мы легко и программно определили, какие элементы данных больше 10 , и возвратил новый массив, содержащий эти элементы.

Instructions

Мы определили функцию, filteredArray , которая принимает arr , вложенный массив и elem качестве аргументов, и возвращает новый массив. elem представляет собой элемент, который может присутствовать или не присутствовать на одном или нескольких массивах, вложенных в arr . Измените функцию, используя цикл for , чтобы вернуть отфильтрованную версию переданного массива таким образом, чтобы любой массив, вложенный в arr содержащий elem , был удален.

Tests

tests:
  - text: '<code>filteredArray([[10, 8, 3], [14, 6, 23], [3, 18, 6]], 18)</code> должны вернуться <code>[ [10, 8, 3], [14, 6, 23] ]</code>'
    testString: 'assert.deepEqual(filteredArray([ [10, 8, 3], [14, 6, 23], [3, 18, 6] ], 18), [[10, 8, 3], [14, 6, 23]], "<code>filteredArray([[10, 8, 3], [14, 6, 23], [3, 18, 6]], 18)</code> should return <code>[ [10, 8, 3], [14, 6, 23] ]</code>");'
  - text: '<code>filteredArray([ [&quot;trumpets&quot;, 2], [&quot;flutes&quot;, 4], [&quot;saxophones&quot;, 2] ], 2)</code> должны возвращать <code>[ [&quot;flutes&quot;, 4] ]</code>'
    testString: 'assert.deepEqual(filteredArray([ ["trumpets", 2], ["flutes", 4], ["saxophones", 2] ], 2), [["flutes", 4]], "<code>filteredArray([ ["trumpets", 2], ["flutes", 4], ["saxophones", 2] ], 2)</code> should return <code>[ ["flutes", 4] ]</code>");'
  - text: '<code>filteredArray([ [&quot;amy&quot;, &quot;beth&quot;, &quot;sam&quot;], [&quot;dave&quot;, &quot;sean&quot;, &quot;peter&quot;] ], &quot;peter&quot;)</code> должен возвращать <code>[ [&quot;amy&quot;, &quot;beth&quot;, &quot;sam&quot;] ]</code>'
    testString: 'assert.deepEqual(filteredArray([["amy", "beth", "sam"], ["dave", "sean", "peter"]], "peter"), [["amy", "beth", "sam"]], "<code>filteredArray([ ["amy", "beth", "sam"], ["dave", "sean", "peter"] ], "peter")</code> should return <code>[ ["amy", "beth", "sam"] ]</code>");'
  - text: '<code>filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 3, 9]], 3)</code> должны возвращать <code>[ ]</code>'
    testString: 'assert.deepEqual(filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 3, 9]], 3), [], "<code>filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 3, 9]], 3)</code> should return <code>[ ]</code>");'
  - text: Функция <code>filteredArray</code> должна использовать цикл <code>for</code>
    testString: 'assert.notStrictEqual(filteredArray.toString().search(/for/), -1, "The <code>filteredArray</code> function should utilize a <code>for</code> loop");'

Challenge Seed

function filteredArray(arr, elem) {
  let newArr = [];
  // change code below this line

  // change code above this line
  return newArr;
}

// change code here to test different cases:
console.log(filteredArray([[3, 2, 3], [1, 6, 3], [3, 13, 26], [19, 3, 9]], 3));

Solution

// solution required