0 / 0 / 0
Регистрация: 20.03.2019
Сообщений: 55
Записей в блоге: 1

Функция должна мутировать входящий массив и возвращать его

14.07.2022, 19:57. Показов 1503. Ответов 5
Метки js (Все метки)

Студворк — интернет-сервис помощи студентам
Функция replaceItemsMutate реализует тот же функционал, только мутирует входящий массив и возвращает его же. Вроде все работает, а тесты не проходит.


JavaScript
1
2
3
4
5
6
7
8
function replaceItemsMutate(arr, item, replaceItem) {
for(let i = 0; i < arr.length; i++) {
          if(arr[i]===item) arr[i] = replaceItem;
     }
}
const arr = [1,2,3,4,2];
replaceItemsMutate(arr, 2, 'a');
console.log(arr); // [1,'a',3,4,'a']

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 ✕ Должна мутировать входящий массив (4ms)
    ✕ Должна корректно заменять первый и последний элементы (1ms)
    ✕ Должна корректно работать со строками (1ms)
 
  ● ReplaceItemsMutate › Должна мутировать входящий массив
 
    expect(received).toEqual(expected) // deep equality
 
    Expected: [1, "replaced", 3, "replaced", 5]
    Received: undefined
 
      56 |         const check = inputArr.slice();
      57 |         const result = replaceItemsMutate(inputArr, 4, 'replaced');
    > 58 |         expect(result).toEqual([1, 'replaced', 3, 'replaced', 5]);
         |                        ^
      59 |         expect(result).toBe(inputArr);
      60 |     });
      61 | 
 
      at Object.toEqual test.js:58:24)
 
  ● ReplaceItemsMutate › Должна корректно заменять первый и последний элементы
 
    expect(received).toEqual(expected) // deep equality
 
    Expected: ["replaced", 4, 3, 4, "replaced"]
    Received: undefined
 
      64 |         const check = inputArr.slice();
      65 |         const result = replaceItemsMutate(inputArr, 1, 'replaced');
    > 66 |         expect(result).toEqual(['replaced', 4, 3, 4, 'replaced']);
         |                        ^
      67 |         expect(result).toBe(inputArr);
      68 |     });
      69 | 
 
      at Object.toEqual test.js:66:24)
 
  ● ReplaceItemsMutate › Должна корректно работать со строками
 
    expect(received).toEqual(expected) // deep equality
 
    Expected: ["replaced", 4, 3, 4, 1]
    Received: undefined
 
      72 |         const check = inputArr.slice();
      73 |         const result = replaceItemsMutate(inputArr, '1', 'replaced');
    > 74 |         expect(result).toEqual(['replaced', 4, 3, 4, 1]);
         |                        ^
      75 |         expect(result).toBe(inputArr);
      76 |     });
      77 | 
 
      at Object.toEqual test.js:74:24)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.07.2022, 19:57
Ответы с готовыми решениями:

Функция должна возвращать массив
Здравствуйте, ВСЕ. Такое описание функции не проходит. function FindSubstr(S, Substr: string; Index, Count: integer): array of...

Функция должна возвращать int массив
Вот функция: int* letterCounts(string text){ int* letter_counts = new int ; for (int i = 0; i &lt; 26; i++) ...

Функция должна возвращать новый массив, состоящий из отрицательных элементов исходного массива
У меня есть задание: написать функцию (процедуру) с параметрами для обработки одномерного массива целочисленных данных (количество...

5
126 / 94 / 34
Регистрация: 24.06.2022
Сообщений: 253
14.07.2022, 20:37
Лучший ответ Сообщение было отмечено Henry24 как решение

Решение

Нужно вернуть массив из функции
Цитата Сообщение от Henry24 Посмотреть сообщение
Функция replaceItemsMutate ... входящий массив... возвращает ...
вам же в ошибке всё написали

Цитата Сообщение от Henry24 Посмотреть сообщение
57 | const result = replaceItemsMutate(inputArr, 4, 'replaced');
JavaScript
1
2
3
4
5
6
function replaceItemsMutate(arr, item, replaceItem) {
for(let i = 0; i < arr.length; i++) {
          if(arr[i]===item) arr[i] = replaceItem;
     }
  return arr;
}
1
18 / 13 / 6
Регистрация: 17.06.2022
Сообщений: 34
15.07.2022, 00:07
JavaScript
1
2
3
4
5
6
7
8
9
10
function replaceItemsMutate(arr, item, replaceItem) {
   
    arr.map(i=>{
        if(i === item) return replaceItem
     })
  }
   
 const arr = [1,2,3,4,2];
    replaceItemsMutate(arr, 2, 'a');
    console.log(arr); // [1,'a',3,4,'a']
1
Эксперт JS
 Аватар для DrType
6553 / 3624 / 1075
Регистрация: 07.09.2019
Сообщений: 5,877
Записей в блоге: 1
15.07.2022, 00:12
SoundState, вот только ваша функция 1) не мутирует массив и 2) не возвращает его.
0
18 / 13 / 6
Регистрация: 17.06.2022
Сообщений: 34
15.07.2022, 00:40
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
function replaceItemsMutate(arr, item, replaceItem) {
   
     return  arr.map(i=>{
     return (i === item)? replaceItem : i
     })
  
    }
   
 let arr = [1,2,3,4,2];
    //arr = replaceItemsMutate(arr, 2,'A')
   // console.log(arr);
    console.log(replaceItemsMutate(arr, 2,'A'))
До сих пор не понял условия. Если она должна не меняя исходный массив возвращать мутированный то так, а если еще и исходный, то две строчки в конце нужно раскоментировать.
1
Эксперт JS
 Аватар для DrType
6553 / 3624 / 1075
Регистрация: 07.09.2019
Сообщений: 5,877
Записей в блоге: 1
15.07.2022, 20:46
Имеется в виду, что исходный массив должен измениться, как объект (после преобразования другие элементы должен содержать, грубо говоря). Этого можно добиться через прямое присваивание по индексу, как показывали выше (arr[i] = replaceItem), или через splice, например.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.07.2022, 20:46
Помогаю со студенческими работами здесь

Функция должна возвращать массив средних значений электропотребления за каждый квартал года всеми абонентами
Никак не могу правильно составить функцию в mathcad, может кто знает как сделать , что бы функция возвращала массив средних значений...

Функция должна возвращать массив средних значений электропотребления за каждый квартал года всеми абонентами
Подскажите, что следует дописать в функцию что бы результат соответствовал задаче:&quot;Разработать программу-функцию, аргументом которой...

Поиск всех вхождений заданного элемента. Функция должна возвращать массив номеров или nullptr
Нужно решить эту задачку без векторов, немогу понять что не так : Основа задачки void task7() { const int n = 10; const int j =...

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

Что должна возвращать функция?
У меня есть задание: Написать функцию поиска LastIndexOf() последнего вхождения произвольной подстроки в строке. Что именно должна...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru