Loading...
vendy96 avatar vendy96 1 Точки

Задача 08. Array Manipulations от Arrays Advanced Lab, JS Fundamentals

Здравейте. Имам малък проблем със задачата, чието име е в заглавието. Ще бъда благодарен, ако някой успее да ми окаже съдействие.

Код: https://pastebin.com/EbFMJ3cJ

Условие:

Write a function that manipulates an array of numbers.

  • Add {number}: add a number to the end of the array
  • Remove {number}: remove number from the array
  • RemoveAt {index}: removes number at a given index
  • Insert {number} {index}: inserts a number at a given index

Note: All the indices will be valid!

Print the final state of the array (separated by single space).

The input comes as array of strings. First element will be a string containing the array to manipulate. Every other command you receive will also be a string.

The output is the manipulated array printed on the console on a single line, separated by space.

Тагове:
0
Programming Fundamentals
knoteva avatar knoteva 1081 Точки

Здравейм

1. Трябва да въртиш цикъла по броя на командите. Както и да сплитваш по тях, а не по арея.

2. Функциите, които си направил приемат параметър/параметри, а после като ги викаш никъде не им подаваш този параметър/параметри.

Ето и кода ти:

https://pastebin.com/uUZvKZMY

0
18/10/2019 17:22:06
willystyle avatar willystyle 2472 Точки
function solve(commands) {
    let arr = commands.shift().split(' ').map(Number);
    for (let i = 0; i < commands.length; i++) {
        let [command, firstNum, secondNum] = commands[i].split(' ');
        firstNum = Number(firstNum);
        secondNum = Number(secondNum);
        switch (command) {
            case 'Add':
                add(firstNum);
                break;
            case 'Remove':
                remove(firstNum);
                break;
            case 'RemoveAt':
                removeAt(firstNum);
                break;
            case 'Insert':
                insert(firstNum, secondNum);
                break;
        }
    }
    function add(el) {
        arr.push(el);
    }
    function remove(num) {
        arr = arr.filter(el => el !== num);
    }
    function removeAt(index) {
        arr.splice(index, 1);
    }
    function insert(num, index) {
        arr.splice(index, 0, num);
    }
    console.log(arr.join(' '));
}

 

0
vendy96 avatar vendy96 1 Точки

Стана, даде ми 100/100 в Judge. Благодаря и на двама ви за отговорите. Тоест причината да не проработи беше, че съм имал функции, в които реално не съм подавал нищо, и съответно не е имало как да върнат каквото и да било, защото не им е подаден параметър?

0
knoteva avatar knoteva 1081 Точки

Едната да. :) Другата е, че в arr ти е масива('4 19 2 53 6 43'), а ти въртиш цикъла по него. 

0
vendy96 avatar vendy96 1 Точки

Ясно, благодаря.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.