Объясните почему система проверки не принимает решение.
Единственное отличие, которое есть в сравнении с уже опубликованными решениями это отличие в условии циклы - не <, а <=.
Результат как можно увидеть на скриншоте полностью соответствует “ожидаемому результату”.
Спасибо за ответ.
var getZippedArrays = function (keyArr, valueArr) {
var obj = {};
for (var i = 0; i < keyArr.length; i++) {
obj[keyArr[i]] = valueArr[i];
}
return obj;
ну начнем с того, что ваш цикл неверный. разберу на примере второго теста (т.к. не имею доступа к курсам, но мне достаточно лога из вашего скрина). keyArr.length это длина массива с ключами. она равна 4.
вы в цикле перебираете от 0 до 4 включительно. т.е. 5 раз.
уже ошибка, т.к. вам надо перебирать до последнего члена массива, а не до длины. т.е. в условии нужно было указать i < keyArr.length или i <= keyArr.length - 1
из-за этой ошибки у вас формируется пара ключ-значение undefined: undefined
в тесты эта пара не попадает, т.к. там используется парсер из json, соответственно вы не видите этой пары, т.к. она не вещественна (если вы не знаете json, даже не осмысливайте).
но по факту в вашем объекте 5 пар ключ-значение, вместо 4. и соответственно оно как-то там внутри сравнивает (ну я то понимаю как, просто объяснение этого выходит за рамки данного курса) и эти два объекта не идентичны. поэтому оно ругается и не проходит ни один тест.
Выходит так, что я не могу отследить своб же ошибку, т.к как вы сами и написали необходимы знания выходящие за рамки курса.
Надеюсь такое атата будет исправлено, на поиск проблемы ушло много времени, что привело к подсказкам с форума.
Благодарю за ответ.
почему не можете? вам никто не запрещает посчитать каждую итерацию в уме =) просто делайте отладку циклов с выводом поитерационно в консоль, чтобы было понятнее.
атата исправлено не будет, объяснять почему - я не буду, т.к. вам придется сначала освоить json, чего в курсах не преподают.
var getZippedArrays = function (keys, value) {
var result = {};
var branch = 0;
for (var i = 0; i < keys.length; i++) {
result[keys[i]] = value[branch];
branch++;
}
return result;
}
let names = [];
let meanings = [];
let getZippedArrays = function (names, meanings) {
let object = {};
for (i = 0; i < names.length; i++) {
object[names[i]] = meanings[i];
}
return object
};
getZippedArrays (names, meanings);
let getZippedArrays = function (key, value) {
let obj = {}; // создаем пустой объект
for (let i = 0; i < key.length; i++) {
obj[key[i]] = value[i]; //добавляем в объект текущий ключ и значение
};
return obj;
};